1 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") |
指定安装路径
1 | cmake -DCMAKE_INSTALL_PREFIX=path_to_install -DCMAKE_BUILD_TYPE=Release |
1 | set(CMAKE_INSTALL_PREFIX path_to_install) |
人,技术,生活。
1 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") |
指定安装路径
1 | cmake -DCMAKE_INSTALL_PREFIX=path_to_install -DCMAKE_BUILD_TYPE=Release |
1 | set(CMAKE_INSTALL_PREFIX path_to_install) |
是因为少了这个命令:
1 | export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH |
typo:
打字时,按错键,打出错字,可以说打出typo了,很好记,就是type错打成typo了。
globbing:
计算机术语为通配符的意思。比如,cmake中,add_library命令中的路径名是不能用通配符的,必须先用cmake提供的file命令收集路径名到一个变量中,再将此变量赋给add_library,像这样:
1 2 3 4 5 6 7 8 | file(GLOB srcs path1/example1/*.cpp path2/*.cpp ) add_library(lib1 ${srcs} ) |
看到其中的GLOB了没?
1,如果include_directories(dirA)写在add_subdirectory(dirB)之前,dirB目录的CMakeLists.txt会继承dirA的值。
2,如果include_directories(dirA)写在add_subdirectory(dirB)之后,dirB目录的CMakeLists.txt会不继承dirA的值。
所以所谓清空就是用方法2了。