0
我有一個複雜的項目,旨在爲PC上的特定目標(微控制器)編寫的半自動源代碼,然後使用Visual Studio 2010/2012重新編譯它。忽略錯誤LNK2001(無法解析的外部符號)
我使用我的微控制器編譯器生成的各種中間文件來獲取已定義的公共方法和變量的列表,並將它們寫入我的module.def中,以便其他DLL可以看到它們。
不幸的是,在編譯PC之前,一些符號必須從源代碼中手動刪除。所以我處於這種情況,我的module.def包含一些符號,這些符號在我的源代碼中不再存在,並且它們生成錯誤LNK2001(未解析的外部符號)。
是否可以配置Visual Studio項目以某種方式忽略LNK2001錯誤?
沒有辦法*忽略* LNK2001,如果鏈接器遇到未解析的符號,字面無法完成鏈接步驟,所以最終沒有庫/可執行文件。爲什麼你不能爲PC保留你的module.def版本並刪除那裏的違規符號? – us2012 2013-02-28 15:52:57
好吧,這可能是一個想法,但有很多符號必須在這種情況下手動刪除,我不喜歡它。也許我可以嘗試執行構建,讀取錯誤,相應地修改module.def並重試構建它。 – Drake 2013-02-28 15:58:39
您可以自動化:將連接器輸出流式傳輸到文件 - > grep/sed有問題的符號 - >將它們流式傳輸到文件 - >從grep.def文件中逐個grep/sed它們。 – 2013-02-28 16:11:06