我正在使用 CMake 为 MSVC 构建一个项目。
我所拥有的只是一个 .def 文件,其中包含从 dll 库中导出的函数。我的项目无权访问 dll 或源代码。而且我需要一个导入库来消除未解决的外部问题。我正在为其构建项目的 SDK 仅使用头文件和导入库。但是有些库没有构建,所以我必须在没有源代码或 DLL 库的情况下单独构建它们(它们与产品一起打包,而不是 SDK)。
我可以使用以下命令构建导入库,我将其用作 VS 项目中的预链接事件:
lib /def:<def path> /OUT:<lib name> /MACHINE:<machine type>
CMake也有办法吗?我试过像这样的命令:
add_library(Ilib STATIC empty.cpp expfile.def)
add_library(Ilib SHARED empty.cpp expfile.def)
add_library(Ilib STATIC expfile.def)
set_target_properties(Ilib PROPERTIES LINKER_LANGUAGE CXX)
但他们都没有工作。
我认为,唯一的解决方案是创建一个execute_process
oradd_custom_command
命令。