如何在cmake中使用ctfconvert和ctfmerge

时间:2016-09-21 11:02:05

标签: cmake solaris-10

我想在CMake中使用ctfconvert和ctfmerge。我通过以下几个链接。

https://java.net/projects/solaris/sources/on-src/content/usr/src/tools/scripts/nightly.sh

http://lethargy.org/~jesus/writes/mdb-ctf-dwarf-and-other-angelic-things/#.V-JUFPl97X4

链接中的源声明我们需要创建源的目标文件,然后对其应用ctfmerge和ctfconvert。我开始知道有一个工具可以在CMake中创建OBJECT库。但是我没有得到如何将这些ctfconvert和ctfmerge应用于OBJECT库,因为$<“TARGET_OBJECTS:objlib>只能在add_library()或add_executable()中使用。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我们需要在Solaris 11上安装onbld软件包,或者需要构建Solaris 10源代码以获取onbld软件包来安装ctf二进制文件。 然后最终需要在CMakeList.txt中调用ctf二进制文件来运行。我们需要从ctfconvert binary创建一个目标文件,然后在创建可执行/共享库时将ctf头信息的obhect文件合并到新创建的可执行/共享库中,然后需要使用ctfmerge。 如果我们需要创建静态库,我们只需要在文件上使用ctfconvert来创建包含ctf头的目标文件,该文件将这些文件放入存档中。当我们在创建可执行/共享库时使用这个静态库时,我们需要在静态库中对每个目标文件使用ctfmerge。