2016-09-21 60 views
0

我想在CMake中使用ctfconvert和ctfmerge。我經歷了下面的幾個鏈接。如何在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的對象庫爲$ <「TARGET_OBJECTS:objlib>只能add_library使用()或add_executable()

如何來解決這個問題

回答

0

?我們需要在Solaris 11上安裝onbld軟件包,或者需要構建Solaris 10源代碼來獲取onbld軟件包來安裝ctf二進制文件。 然後最終需要調用CMakeList.txt中的ctf二進制文件來運行我們需要從ctfconvert創建一個目標文件二進制文件,然後當我們創建一個可執行文件/共享庫時,需要使用ctfmerge來將包含ctf頭信息的obhect文件合併到新創建的可執行文件/共享庫。 如果我們需要創建靜態庫,我們只需要需要在文件上使用ctfconvert來創建包含ctf頭文件的目標文件,這會將這些文件歸檔。當我們在創建可執行文件/共享庫時使用這個靜態庫時,我們需要在靜態庫的每個對象文件上使用ctfmerge。