簡體   English   中英

將C ++ Win32 Console項目類集成到Visual Studio 2008中的Visual C ++(Windows窗體應用程序)項目中

[英]Integrate C++ Win32 Console project classes into Visual C++ (Windows forms application) project in Visual Studio 2008

我已經寫了一些類,是C ++中一個項目的后端(win32項目),然后想要向其中添加一個GUI。 Visual C ++似乎是一個很好的解決方案,但是在完成GUI部分之后,我無法集成純C ++代碼。 有人對此有經驗嗎? 我收到“無法解決的外部因素”錯誤。 顯然,.cpp文件在最后一步未鏈接。 我想某些項目設置也需要更改,有人可以確切解釋一下嗎?

我也在考慮將這些類編譯為.dll並將其導入到可視C ++項目中,是否可能以某種方式將這兩個項目編譯在一起?

感謝您的幫助,我已經使用它一段時間了,但是找不到任何可行的解決方案。

佐爾坦

“項目A”需要導入“項目B”的標題,並且還需要鏈接到“項目B”。

您如何將這些較舊的類導入C ++ GUI項目? 作為庫還是作為源文件?

如果只是源文件,則只需將文件添加到項目中,然后將其與新文件一起編譯即可。

如果您的后端代碼集成為一個單獨的項目(生成一個庫),則需要將此項目的依賴項添加到GUI應用程序。

如果您沒有將項目集成到GUI解決方案中,則需要設置包含目錄,在鏈接器->輸入中添加lib,並讓VS知道如何通過在鏈接器選項中設置其他庫目錄來找到它。

鑒於沒有足夠的細節來真正分辨出發生了什么,所以我想到了很多可能性。

  • 如果不單獨鏈接后端,則不會編譯后端部分的代碼(該項目的cpp文件不是GUI項目或相關依賴項的一部分)。
  • 您的后端項目的庫未鏈接; 檢查項目屬性的鏈接部分。 在這種情況下,您是分開鏈接的。
  • 后端庫和前端庫已使用不同的設置進行編譯,並且在鏈接時這會引起問題。 例如調試和發布標准庫,多線程或單線程庫; 另外,不同的字符串定義如果不匹配也可能導致問題(特別是如果您使用了模板代碼)。

如果您願意,完全可以用他的后端部分構建dll。 如果它不會被其他任何東西使用,我可能不會打擾,只是靜態鏈接,但是您當然可以。

暫無
暫無

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

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