Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 添加在configure_文件中生成的include头_Cmake - Fatal编程技术网

Cmake 添加在configure_文件中生成的include头

Cmake 添加在configure_文件中生成的include头,cmake,Cmake,我有一个带有应用程序和库的cmake项目。该库有一个使用configure\u file生成的头文件。问题是应用程序代码找不到生成的头文件 将生成的头文件路径包含到应用程序-I选项的正确方式是什么target\u link\u库将路径添加到源目录而不是二进制目录? 使用add\u library时是否可以将属性添加到库中,以便在使用target\u link\u libraries时可以使用此属性?如果您已使用 configure_file(config.h.in config.h @ONLY)

我有一个带有应用程序和库的cmake项目。该库有一个使用
configure\u file
生成的头文件。问题是应用程序代码找不到生成的头文件

将生成的头文件路径包含到应用程序
-I
选项的正确方式是什么
target\u link\u库
将路径添加到源目录而不是二进制目录?
使用
add\u library
时是否可以将属性添加到库中,以便在使用
target\u link\u libraries
时可以使用此属性?

如果您已使用

configure_file(config.h.in config.h @ONLY)
并且已经用创建了库目标

add_library(libtarget ${SOURCE_FILES})
这只不过是一个电话

target_include_directories(libtarget PUBLIC ${CMAKE_CURRENT_BINARY_DIR})

假设所有命令都按此顺序给出,并且位于相同的
CMakeLists.txt
文件中。

如果您已使用

configure_file(config.h.in config.h @ONLY)
并且已经用创建了库目标

add_library(libtarget ${SOURCE_FILES})
这只不过是一个电话

target_include_directories(libtarget PUBLIC ${CMAKE_CURRENT_BINARY_DIR})

假设所有命令都是按此顺序给出的,并且位于相同的
CMakeLists.txt
文件中。

Include目录与
target\u Include\u目录一起添加。您可以将绝对路径传递给此命令,CMake将保留此路径。不确定是什么问题。可以准备吗?包含目录是使用
target\u Include\u目录
命令添加的。您可以将绝对路径传递给此命令,CMake将保留此路径。不确定是什么问题。你能准备一下吗?这将有助于建立上述图书馆。但是我需要这个
config.h
供其他应用程序使用。我觉得这个库和应用程序属于同一个CMake项目。这应该是可行的,因为库目标会将公共和接口属性(包括目录、编译选项和定义)传播到与之链接的应用程序。这将有助于构建所述库。但是我需要这个
config.h
供其他应用程序使用。我觉得这个库和应用程序属于同一个CMake项目。这应该是可行的,因为库目标会将公共和接口属性(包括目录、编译选项和定义)传播到与之链接的应用程序。