如何设置 CmakeList 标志
Posted
技术标签:
【中文标题】如何设置 CmakeList 标志【英文标题】:How to set up CmakeList flags 【发布时间】:2015-08-13 11:40:12 【问题描述】:这是我编译 cpp 代码的方式:
g++ -I/usr/local/include/modbus `pkg-config glib-2.0 --cflags --libs` -L/usr/local/lib -lmodbus test-modbus.c -o test-modbus
使用 gcc 它工作得很好。但我需要把它放到 CmakeList.txt 中,我试过这个:
SET(GCC_COVERAGE_COMPILE_FLAGS "-I/usr/local/include/modbus -L/usr/local/lib")
SET(GCC_COVERAGE_LINK_FLAGS "-lmodbus")
SET( CMAKE_CXX_FLAGS "$CMAKE_CXX_FLAGS $GCC_COVERAGE_COMPILE_FLAGS" )
SET( CMAKE_EXE_LINKER_FLAGS "$CMAKE_EXE_LINKER_FLAGS $GCC_COVERAGE_LINK_FLAGS" )
但没有成功。有任何想法吗?
【问题讨论】:
【参考方案1】:CMake 旨在独立于平台和编译器,因此您无需设置特定的编译器标志,而是告诉 CMake 您想要做什么。例如include_directories
命令添加目录到包含路径(类似于gcc的-I
选项),target_link_libraries
链接一个库(类似于gcc的-l
)选项,pkg_config
可以通过@987654326调用@模块,等等。
【讨论】:
以上是关于如何设置 CmakeList 标志的主要内容,如果未能解决你的问题,请参考以下文章