2013-12-19 131 views
0

我试图获得一个COTS编译器/链接器套件与CMake一起工作,并且大多数情况下一切正常。我遇到的问题是图书管理员。CMake和图书管理员操作

在编译器定义了一个典型的呼叫 - $ {}郎文件.cmake是这样的:

SET(CMAKE_C_CREATE_STATIC_LIBRARY “-v -c”)

但馆员具有不特定的方式被告知目标文件在哪里,所以我想用二进制目录来预先加载目标文件,以便给图书管理员一个特定的地方来找到它们。然而,我不能拿出正确的语法来做到这一点。

有关如何做这件事的任何想法?

回答

0

经过编译器/链接器套件的大量工作后,确定主要问题是编译器没有被告知直接放置对象的位置的能力 - 实质上它不支持典型的-o参数。

这导致编译器将输出文件命名为任何想要的内容,而不会关注make实用程序传递给它的内容。

事实证明,主要的编译器可执行文件实际上只是预处理器,代码生成器和汇编器的包装器,所以我最终只是重新编译它并构建自己的包装器,它确实支持-o参数。试图让CMake使用这种非标准方法来生成输出结果是非常容易的。一旦编译器开始支持-o参数,图书管理员就可以毫无问题地工作。