簡體   English   中英

具有多個項目的visual studio解決方案無法編譯

[英]visual studio solution with multiple projects doesnt compile

我首先在eclipse(mingw編譯器)中創建了一個程序。 現在我將代碼轉換為Visual Studio 2008.這是一個包含多個項目的解決方案。 其中2個項目用於運行(控制台)程序。 其他2個項目是那些幫助類。 我已經設置了項目依賴項,以便以正確的順序編譯項目。 我現在收到一條錯誤消息LNK2019和LNK1120,因為我在幫助程序項目中沒有main。 我試圖編譯幫助項目沒有鏈接,但我不知道我應該怎么做。 我嘗試添加-c編譯器選項但不成功。 我還試圖在輔助項目中添加一個無用的main,但是編譯真正的main時編譯失敗,“函數無法重載”。

我怎么能解決這個問題,所以我可以在沒有主要的情況下擁有幫助項目?

如果要創建幫助程序庫,則必須使用項目類型Class Library而不是Console Application

您可以將助手編譯為靜態庫,並將其鏈接到主程序。

  1. 右鍵單擊解決方案資源管理器中的項目,以獨立於整個解決方案進行編譯。 您也可以單獨構建它們,它們執行編譯和鏈接。

  2. 在Windows中(我不確定Linux),DLL仍然需要一個入口點。 傳統名稱是DllMain 如果您不想要入口點,那么您應該創建一個靜態庫而不是DLL,它在鏈接時鏈接到您的應用程序,而不是在運行時動態加載。

    您需要更改項目的屬性,以告訴它您現在正在創建靜態庫,而不是動態庫。 這將阻止鏈接器搜索main函數。 您可能會發現此演練很有幫助。

    “函數無法重載”錯誤可能是因為您添加的虛擬main函數具有/具有錯誤的簽名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM