我想将我的库的版本号存储在一个地方。所以我在CMake文件中定义了这样一个变量:SET(LIBINTERFACE_VERSION1CACHEINTEGER"VersionoflibInterface")有了这个定义,我可以根据微软的定义生成一个version.rc文件,我将它编译到库中,然后在我的dll文件的属性窗口中正确显示。现在我也想在我的c++源代码中使用这个CMake变量,但实际上我没有找到可行的解决方案。我尝试过不同的方法:#ifndefVERSION_LIBINTERFACE#defineVERSION_LIBINTERFACE@LIBINTERFACE_VERSION@#
我想将我的库的版本号存储在一个地方。所以我在CMake文件中定义了这样一个变量:SET(LIBINTERFACE_VERSION1CACHEINTEGER"VersionoflibInterface")有了这个定义,我可以根据微软的定义生成一个version.rc文件,我将它编译到库中,然后在我的dll文件的属性窗口中正确显示。现在我也想在我的c++源代码中使用这个CMake变量,但实际上我没有找到可行的解决方案。我尝试过不同的方法:#ifndefVERSION_LIBINTERFACE#defineVERSION_LIBINTERFACE@LIBINTERFACE_VERSION@#
我正在尝试在Windows上使用CMake制作一个非常基本的Qt5应用程序。我使用了文档ofQt5touseCMake,而我的main.cpp文件只包含一个main函数。我的CMakeLists.txt正是:cmake_minimum_required(VERSION2.8.9)project(testproject)#Findincludesincorrespondingbuilddirectoriesset(CMAKE_INCLUDE_CURRENT_DIRON)#InstructCMaketorunmocautomaticallywhenneeded.set(CMAKE_AUTO
我正在尝试在Windows上使用CMake制作一个非常基本的Qt5应用程序。我使用了文档ofQt5touseCMake,而我的main.cpp文件只包含一个main函数。我的CMakeLists.txt正是:cmake_minimum_required(VERSION2.8.9)project(testproject)#Findincludesincorrespondingbuilddirectoriesset(CMAKE_INCLUDE_CURRENT_DIRON)#InstructCMaketorunmocautomaticallywhenneeded.set(CMAKE_AUTO
我使用cmake生成的makefile来编译依赖于boost文件系统库的c++文件。在链接过程中,我收到以下错误:Undefinedsymbols:"boost::system::get_generic_category()",referencedfrom:__static_initialization_and_destruction_0(int,int)inFaceRecognizer.cpp.o__static_initialization_and_destruction_0(int,int)inFaceRecognizer.cpp.o__static_initialization
我使用cmake生成的makefile来编译依赖于boost文件系统库的c++文件。在链接过程中,我收到以下错误:Undefinedsymbols:"boost::system::get_generic_category()",referencedfrom:__static_initialization_and_destruction_0(int,int)inFaceRecognizer.cpp.o__static_initialization_and_destruction_0(int,int)inFaceRecognizer.cpp.o__static_initialization
我的项目中有2个文件夹“inc”和“lib”,它们分别有标题和静态库。如何告诉cmake分别使用这2个目录进行包含和链接? 最佳答案 最简单的方法是添加include_directories(${CMAKE_SOURCE_DIR}/inc)link_directories(${CMAKE_SOURCE_DIR}/lib)add_executable(foo${FOO_SRCS})target_link_libraries(foobar)#libbar.soisfoundin${CMAKE_SOURCE_DIR}/lib不向每个编译器
我的项目中有2个文件夹“inc”和“lib”,它们分别有标题和静态库。如何告诉cmake分别使用这2个目录进行包含和链接? 最佳答案 最简单的方法是添加include_directories(${CMAKE_SOURCE_DIR}/inc)link_directories(${CMAKE_SOURCE_DIR}/lib)add_executable(foo${FOO_SRCS})target_link_libraries(foobar)#libbar.soisfoundin${CMAKE_SOURCE_DIR}/lib不向每个编译器
我尝试使用设置调试标志setcmake中的命令,但我不确定要添加什么。我被告知像DEBUG=true这样的事情,但到目前为止我无法找到要设置的正确标志。 最佳答案 如果你想在编译时进行调试(包括源信息,即-g),请使用cmake-DCMAKE_BUILD_TYPE=Debug如果你想构建一个发布版本,你可以使用cmake-DCMAKE_BUILD_TYPE=RelWithDebInfo 关于c++-如何使用cmake设置GDB调试标志?,我们在StackOverflow上找到一个类似的问
我尝试使用设置调试标志setcmake中的命令,但我不确定要添加什么。我被告知像DEBUG=true这样的事情,但到目前为止我无法找到要设置的正确标志。 最佳答案 如果你想在编译时进行调试(包括源信息,即-g),请使用cmake-DCMAKE_BUILD_TYPE=Debug如果你想构建一个发布版本,你可以使用cmake-DCMAKE_BUILD_TYPE=RelWithDebInfo 关于c++-如何使用cmake设置GDB调试标志?,我们在StackOverflow上找到一个类似的问