Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.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
C++ 如何在CmakeLists文件中应用复制命令_C++_File_Cmake_Copy - Fatal编程技术网

C++ 如何在CmakeLists文件中应用复制命令

C++ 如何在CmakeLists文件中应用复制命令,c++,file,cmake,copy,C++,File,Cmake,Copy,这是我的CMakeLists.txt文件,它存在于当前目录project1中 在project1目录中,我有一个src目录,其中包含源文件和头文件。我有构建目录 cmake_minimum_required(VERSION 2.6) #Declaration du projet project(MYfirstcamke) set(EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE}) #Inclusion de opencv include_di

这是我的CMakeLists.txt文件,它存在于当前目录project1中 在project1目录中,我有一个src目录,其中包含源文件和头文件。我有构建目录

cmake_minimum_required(VERSION 2.6)

#Declaration du projet

project(MYfirstcamke)

set(EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE})

#Inclusion de opencv

include_directories(/usr/local/include/)

link_directories(/usr/local/lib)

file(

    GLOB_RECURSE

    source_files

    src/*


)
#declaration de l'executable

add_executable(

my_executable

${source_files}

)
#Configuration de l'edition de lien.
target_link_libraries(

my_executable opencv_core  opencv_imgproc opencv_video opencv_highgui


)
在此之前,我需要使用file命令复制当前目录中存在的src目录中的*.cpp和*.hpp。我写这段代码:

file(GLOB MY_PUBLIC_HEADERS

  "*.hpp"
)
file(GLOB MY_PUBLIC_SOURCE

  "*.cpp"
)
file(COPY ${MY_PUBLIC_SOURCE} DESTINATION "src/")
file(COPY ${MY_PUBLIC_HEADERS} DESTINATION "src/")

当我开始制作时。。其中当前目录为build*。hpp和*.cpp被复制到src,但这里的问题是,src也被复制到构建,在这种情况下,cmake不起作用。我需要project1目录中的src rest。我如何解决这个问题?

你在做一些奇怪的事情。你首先要解决什么问题?为什么不手动将标题和源代码放在
src/
中呢?我打赌这是一个错误。请说明您的想法。一般来说,复制源文件必须有好的参数。假设
是项目的源目录(CMakeLists.txt所在的位置),
是二进制目录(执行
cmake
的位置)和文件
/myu source.cpp
/myu header.hpp
。然后,您的第二个脚本(位于
/CMakeLists.txt
)将相应地将文件复制到
/src/my_source.cpp
/src/my_header.hpp
。不会在
/src/
目录下创建其他文件或目录。