在CMakeLists.txt中,如果我将.lib(静态库)文件路径定义为绝对路径,则它可以正常工作。但是,如果我定义相对路径相同,则会引发错误。没有硬编码怎么解决?
文件结构:
|--D
| |--Rohit
| | |--Sandbox
| | | |--demo
| | | | |--src
| | | | | |--abc
| | | | | | |--build
| | | | | | |--CMakeLists.txt
| | | | | | |--lib
| | | | | | | |--foo.lib
.
.
| | | | |--workspace
| | | | | |--xyz
| | | | | | |--foo2.lib
这种方法工作正常:
add_library(foo STATIC IMPORTED)
set_property(TARGET foo PROPERTY IMPORTED_LOCATION D:/Rohit/Sandbox/demo/src/abc/lib/foo.lib)
这种方式会引发错误:
add_library(foo STATIC IMPORTED)
set_property(TARGET foo PROPERTY IMPORTED_LOCATION "/lib/foo.lib")
我的CMakeLists.txt路径: D:\ Rohit \ Sandbox \ demo \ src \ abc \ CmakeLists.txt
这是我得到的错误: LINK:致命错误LNK1104:无法打开文件'\ lib \ foo.lib'
如果我还想从其他文件夹中包含.lib文件(比如说工作区的xyz文件夹中存在foo2.lib文件),如何定义它?