我正在使用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
或add_custom_command
命令。