Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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
如何复制dll';他在用cmake吗?_Cmake - Fatal编程技术网

如何复制dll';他在用cmake吗?

如何复制dll';他在用cmake吗?,cmake,Cmake,在构建解决方案时,我必须将dll复制到文件夹中。cmake的结构如下所示: D:/src/cmakeLists.txt D:/target/runtime/bin D:/repos/stable/compiler/xyz.dll 因此,我想将xyz.dll复制到“D:/target/runtime/bin”。我在cmake中做了如下操作: add_custom_command(TARGET performance POST_BUILD COMMAND $

在构建解决方案时,我必须将dll复制到文件夹中。cmake的结构如下所示:

    D:/src/cmakeLists.txt
    D:/target/runtime/bin
    D:/repos/stable/compiler/xyz.dll
因此,我想将xyz.dll复制到“D:/target/runtime/bin”。我在cmake中做了如下操作:

add_custom_command(TARGET performance POST_BUILD        
COMMAND ${CMAKE_COMMAND} -E copy_if_different  
    "${PROJECT_SOURCE_DIR}/libs/xyz.dll"  
    $<TARGET_FILE_DIR:performance>)
add_custom_命令(构建后的目标性能)
COMMAND${CMAKE_COMMAND}-E copy_如果不同
“${PROJECT\u SOURCE\u DIR}/libs/xyz.dll”
$)
但它没有复制任何dll。那么,建议我如何实现它。我对cmake不太熟悉。因此,请建议。

我使用该命令来实现此目的。它在cmake生成步骤中复制文件

试试像这样的东西

configure_file("${PROJECT_SOURCE_DIR}/libs/xyz.dll" $<TARGET_FILE_DIR:performance> COPYONLY)
configure_文件(${PROJECT_SOURCE_DIR}/libs/xyz.dll“$COPYONLY)

将dll保留在原来的位置,并修改其他项目中的链接。使用
find_library
。尝试运行
make VERBOSE=1
并查找行
copy_(如果不同…
)。它会复制到你期望的地方吗?还要注意的是,如果您的目标
性能
是最新的,它将不会复制。具有相同的问题。你找到解决方案了吗?是性能目标版本吗?@swdon我忘了前面的$。你能再试一次吗?我实际上做了问题的大部分内容(我使用了
copy
而不是
copy\u if\u different
,而且它确实有效。感谢你在三年后尝试帮助我:)