HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\xx\Tools\Shell\Text Editor\Visible Whitespace
Здесь xx — версия SSMS. Для 2008-ого SQL сервера имеет значение 100.
В VS, кстати, это делается комбинацией клавиш Ctrl+R, Ctrl+W.
Найдено здесь.
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\xx\Tools\Shell\Text Editor\Visible Whitespace
При выполнении команды Clean в C++ проекте типа Makefile project команды запускаются в некорректном окружении: cmake ругается на отсутствие необходимых переменных, nmake не доступен в PATH. Проблема известна, но предложенный workaround с ключом useenv не работает, неправильное окружение получают и команды Build и Rebuild.
Update: решение найдено. Необходимо в Clean command line добавить вызов bat-файла, устанавливающего необходимые переменные среды. Этот bat-файл используется в ярлыке Visual Studio Command Prompt (2010).
call "$(VCInstallDir)vcvarsall.bat" set BUILD_DIR="$(ProjectDir)$(Configuration)" set PROJECT_DIR="$(ProjectDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR% nmake clean
$(TargetDir)$(ConfigurationName)\$(TargetName)\$(TargetFileName)
Update:Для Visual Studio 2010 путь будет другой.
$(ProjectDir)$(Configuration)\$(ProjectName)\$(ProjectName).exe
Так же имеет смысл указать Working Directory, использовав путь к исполняемому файлу. Для VS 2010:
$(ProjectDir)$(Configuration)\$(ProjectName)\
Update2: эти установки сохраняются не в файле проекта, а файле *.vcxproj.user
protected virtual void OnApplicationEnd(object sender, EventArgs e)
{
Log.Debug("Application End");
}
<%@ Application Codebehind="Global.asax.cs" Inherits="Triad.Server.QueryService.QueryServiceApplication" Language="C#" %>
<script runat="server">
protected override void OnApplicationStart(object sender, EventArgs e)
{
base.OnApplicationStart(sender, e);
// set property
}
</script>
C:\DOCUMENTS AND SETTINGS\user\DESKTOP\CMAKE_TEST
│ CMakeLists.txt
│
├───cli
│ │ CMakeLists.txt
│ │
│ └───src
│ main.cpp
│
├───core
│ │ CMakeLists.txt
│ │
│ ├───include
│ │ core.hpp
│ │
│ └───src
│ core.cpp
│ core.hpp
│
└───ide_files
└───vs
│ CMake_test.sln
│
├───cli
│ cli.vcproj
│
└───core
core.vcproj
set BUILD_DIR="$(TargetDir)$(ConfigurationName)" set PROJECT_DIR="$(TargetDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR% nmake all
set BUILD_DIR="$(TargetDir)$(ConfigurationName)" set PROJECT_DIR="$(TargetDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR% nmake clean all
set BUILD_DIR="$(TargetDir)$(ConfigurationName)" set PROJECT_DIR="$(TargetDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(ConfigurationName) -G "NMake Makefiles" %PROJECT_DIR% nmake clean
Update: Выше указаны команды сборки для проекта cli. Для проекта core необходимо изменить вторую строку:
set PROJECT_DIR="$(TargetDir)..\..\..\core"
set BUILD_DIR="$(ProjectDir)$(Configuration)" set PROJECT_DIR="$(ProjectDir)..\..\.." if not exist %BUILD_DIR% mkdir %BUILD_DIR% cd %BUILD_DIR% cmake -DCMAKE_BUILD_TYPE=$(Configuration) -G "NMake Makefiles" %PROJECT_DIR% nmake all
XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/" XDG_TEMPLATES_DIR="$HOME/" XDG_PUBLICSHARE_DIR="$HOME/" XDG_DOCUMENTS_DIR="$HOME/" XDG_MUSIC_DIR="$HOME/" XDG_PICTURES_DIR="$HOME/" XDG_VIDEOS_DIR="$HOME/"
#!/bin/sh echo "Setting iptables rules" IPTABLES="/sbin/iptables" # delete rules and chains $IPTABLES -F $IPTABLES -X # enable everything on lo $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT for iface in eth0 wlan0 do # enable all established input connections $IPTABLES -A INPUT -i $iface -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -i $iface -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A INPUT -i $iface -p icmp -m state --state RELATED,ESTABLISHED -j ACCEPT # enable outgoing traffic $IPTABLES -A OUTPUT -o $iface -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A OUTPUT -o $iface -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT $IPTABLES -A OUTPUT -o $iface -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT done # block all other input connections $IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset $IPTABLES -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable # default policies $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -P FORWARD DROP #protect from spoofing echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter
D:\PROJECTS\SIMPLE-THINGS\TRUNK\CMAKE_TEST
│ CMakeLists.txt
│
├───cli
│ │ CMakeLists.txt
│ │
│ └───src
│ main.cpp
│
└───core
│ CMakeLists.txt
│
├───include
│ core.hpp
│
└───src
core.cpp
core.hpp
Примем соглашение, по которому клиент библиотеки вправе обращаться только к заголовочным файлам из папки include, а файлы в этой папке будут ссылаться на другие файлы из каталога библиотеки. Таким образом поставленная задача инкапсуляции будет решена.D:\PROJECTS\SIMPLE-THINGS\TRUNK\CMAKE_TEST
│ CMakeLists.txt
│
├───cli
│ │ CMakeLists.txt
│ │
│ └───src
│ main.cpp
│
└───core
│ CMakeLists.txt
│
├───include
│ core.hpp
│
└───src
core.cpp
core.hpp
CMAKE_TEST - главный каталог проекта. Библиотека находится в папке core, сама программа - в папке cli. В каждой из упомянутых папок есть файл CMakeLists.txt, описывающий их содержимое.cmake_minimum_required(VERSION 2.6) project(CMAKE_TEST) add_subdirectory(core) add_subdirectory(cli)Минимально необходимой для сборки проекта версией CMake является 2.6, проект называется CMAKE_TEST, это имя будет использоваться для обращения к корневой папке из подпроектов. Две команды add_subdirectory, аргументом которых являются имена папок, необходимы для указания подпроектов.
#ifndef _CORE_HPP_
#define _CORE_HPP_
class Core
{
public:
const char * say();
};
#endif
##include "Core.hpp"
const char * Core::say()
{
return "hello";
}
set(SRC src/core.cpp)
add_library(core ${SRC})
#ifndef CORE_HPP #define CORE_HPP #include "../src/core.hpp" #endif
#include <iostream>
#include "core.hpp"
int main(int argc, char **argv)
{
Core core;
std::cout << core.say() << std::endl;
return 0;
}
include_directories(${CMAKE_TEST_SOURCE_DIR}/core/include)
link_directories(${CMAKE_TEST_BINARY_DIR}/core)
set(SRC src/main.cpp)
add_executable(cli ${SRC})
target_link_libraries(cli core)
Команда include_directories определяет папку, где компилятор будет искать заголовочные файлы, подключаемые с помощью include, при этом переменная CMAKE_TEST_SOURCE_DIR указывает на корневую папку проекта. link_directories определяет, где искать библиотеки для линковки, CMAKE_TEST_BINARY_DIR - директория для сборки проекта. 4-ая строка задает список исходников, add_executable говорит, что будет собираться приложение cli.exe, target_link_libraries перечисляет библиотеки, с которым его нужно слинковать. Библиотека core по умолчанию будет статической.cmake .. msbuild CMAKE_TEST.sln /t:Rebuild /p:Configuration=Release
sudo aptitude update sudo aptitude install lvm2
sudo vgchange -a y vg00Если диск не размечен под LVM, придется использовать утилиты vgcreate, lvcreate и т.д., поскольку установщик не поддерживает управление томами LVM.
sudo mkdir /mnt/target sudo mount /dev/vg00/lvroot /mnt/target sudo mount /dev/sda5 /mnt/target/boot sudo mount -o bind /dev /mnt/target/dev sudo mount -o bind /dev/pts /mnt/target/dev/pts sudo mount -o bind /dev/shm /mnt/target/dev/shm sudo mount -o bind /proc /mnt/target/proc sudo mount -o bind /sys /mnt/target/sys
sudo chroot /mnt/target sudo aptitude update sudo aptitude install lvm2
sudo umount /mnt/target/sys sudo umount /mnt/target/proc sudo umount /mnt/target/dev/shm sudo umount /mnt/target/dev/pts sudo umount /mnt/target/dev sudo umount /mnt/target/boot sudo umount /mnt/target/