[英]How to handle linker errors in C++/GNU toolchain?
給定一個C ++ / GNU工具鏈,什么是解決鏈接器錯誤的好方法或工具或策略?
不確定確切的意思,但是如果您正在談論諸如以下這樣的隱秘鏈接器符號:
mylib.so:未定義符號:_ZN5CandyD2Ev
您可以使用c ++ filt為您解決難題。
C ++過濾_ZN5CandyD2Ev
將會返回Candy ::〜Candy(),因此不知道Candy的析構函數沒有被鏈接。
那么第一件事就是RTFM。 不,認真閱讀文檔。
如果您不想這樣做,請嘗試搜索出現的錯誤。
還有一些其他需要記住的事情:“缺失”符號通常表示您沒有包括適當的源代碼或庫; 有時,“缺少”符號表示您正在嘗試鏈接使用不同的處理約定(或不同的編譯器)創建的庫。 確保在適當的地方加上“ C”字樣; 聲明和定義不是一回事; 如果您的編譯器不支持“導出”,請確保在實例化對象時可使用模板代碼。
查看報告有問題的符號的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.