我想在我的項目中使用兩個第三方庫,但其中一個使用__stdcall約定編譯,另一個使用__cdecl編譯。無論我將我的項目屬性設置爲什麼,LINKER都無法鏈接一個或另一個庫。有沒有辦法做到這一點?如何在一個vs2008項目中將庫與__stdcall和__cdecl結合使用
1
A
回答
1
調用約定外部代碼編譯與應該無關。只要適當的函數是用正確的約定聲明的,那麼你爲自己的代碼使用的慣例就不重要了,並且無論你做出什麼樣的選擇,它都會起作用。
+0
我同意,但我看到如果我只是試圖編譯它而不更改其中一個頭文件中的聲明,則鏈接程序將失敗(在我的其他問題中有更詳細的描述)。 如果約定沒有在頭文件中明確指定,導入函數使用什麼約定?我的假設(糾正我,如果我錯了)是在項目的屬性或特定文件中指定的。在這種情況下(我在整個項目中使用一個約定,而第三方庫與另一個編譯時),我認爲鏈接器失敗是有道理的。 – Anorflame 2012-07-25 19:55:35
相關問題
- 1. 在Windows CE DLL中使用__stdcall和__cdecl
- 2. 如何讓VS2008在C++項目中使用__cdecl而不是__thiscall?
- 3. __cdecl或__stdcall在Windows上?
- 4. C - DLL需要__stdcall和導入__cdecl lib
- 5. 如何將簡單項目與scrapy項目結合使用?
- 6. 將兩個Android項目與一個登錄結合使用
- 7. 如何掛鉤/將__userpurge func轉換爲__stdcall或__cdecl?
- 8. 在單個項目中將ASP.NET WebForms與DotVVM結合使用
- 9. 如何將兩個選項與1個選項結合使用
- 10. 如何在另一個項目中將項目用作庫?
- 11. 在C#中將AngularJS與Signalr結合使用asp.net項目
- 12. XCode VS VS2008或如何在XCode上使用靜態庫項目
- 13. 如何將WIX安裝項目與WIX引導程序項目結合使用
- 14. 如何將Webapi項目(與EF和LocalDb結合)部署到Azure
- 15. 如何將幾個數據庫文件與numpy結合使用?
- 16. __cdecl,__stdcall和__fastcall都被稱爲完全相同的方式?
- 17. 如何將一個庫項目添加到一個android項目?
- 18. 如何將一個LED和一個piezzo與arduino上的按鈕結合使用?
- 19. 在Intellij中將項目VCS與單個模塊VCS結合使用
- 20. 如何在VS2008中使用QT庫
- 21. 如何在一個項目中結合多種語言?
- 22. 如何在一個項目中使用兩個數據庫
- 23. 如何在另一個項目中添加和使用一個項目?
- 24. 如何在eclipse中結合項目?
- 25. 如何在Eclipse RCP中將非插件項目與插件項目結合使用?
- 26. 如何在android中的另一個項目中使用項目作爲庫api?
- 27. 如何在VS2008項目中的鏈接文件上使用SCM?
- 28. 如何將3個第一代MVC項目合併到一個項目中?
- 29. 如何將一個android studio項目合併到另一個android studio項目中
- 30. 如何在一個Eclipse項目中使用多個GitHub項目?
夥計,8個問題,0%接受? – Puppy 2012-07-21 09:24:03
編輯第一個.h文件並在函數聲明中插入__stdcall。 – 2012-07-21 09:35:27
@HansPassant謝謝你,它工作。 – Anorflame 2012-07-25 19:52:54