我正在尝试让一个COTS编译器/链接器套件与CMake一起工作,并且大部分工作都运行良好。我遇到的问题是图书管理员。
COMPILER中定义的典型调用 - $ {lang} .cmake文件如下所示:
SET(CMAKE_C_CREATE_STATIC_LIBRARY“-v -c”)
但是图书管理员没有特定的方式被告知目标文件在哪里,所以我想在二进制目录前面添加目标文件,以便给图书管理员一个特定的位置来查找它们。但是我无法想出正确的语法。
有关如何做到这一点的任何想法?
答案 0 :(得分:0)
经过对编译器/链接器套件的大量工作后,确定主要问题是编译器无法被告知直接放置对象的位置 - 本质上它不支持典型的-o参数
这导致编译器命名输出文件,而不是注意make实用程序传递给它的那个。
事实证明,主编译器可执行文件实际上只是预处理器,代码生成器和汇编器的包装器,所以我最终只是重新编写它并构建我自己的支持-o参数的包装器。尝试让CMake使用这种非标准方法生成输出,这样做确实更容易。一旦编译器开始支持-o参数,库管理器就可以毫无问题地工作。