[英]Multiple Undefined References - Qt Creator - vJoy C++
有人指出,我應該使用MS VC ++而不是MinGW ,這似乎給我帶來了另一個問題:
2個未解析的外部符號
如此處所示:
這些跟蹤到這里的WinUser.h :
我應該為此做一個全新的帖子嗎? -或修改當前帖子?
我正在嘗試重新構建一個程序,該程序使用vJoy中的庫將鼠標輸入映射到“虛擬游戲桿”
原始項目可以在這里找到: MouseToJoystick
我沒有更改程序中的任何內容,並且嘗試使用QT 5.10.0在QT Creator中進行編譯-我不確定我是否正確設置了“內部設置” 。
這是當前的編譯警告和錯誤列表:
據我所知,列出的每個“未定義引用”是一個可以追溯到“ vJoyInterface.h”的函數,該函數包含在發生“未定義引用”的文件“ MainWindow.cpp”中。
MainWindow.cpp #includes( image )
以下是在“ vJoyInterface.h”文件中被稱為“未定義”的函數的“原型”:
因此,至少功能的“原型”存在-盡管功能可能仍未定義-我已經看到其他答案說項目需要以某種方式包括/鏈接包含功能定義的適當庫。
與vJoy相關的唯一其他文件位於“ vJoyLib / 64 ”和“ vJoyLib / 32 ”文件夾中。 兩者都包含以下文件:
該庫在“ MouseToJoystick.pro ”文件中引用,如下所示:
我的假設是vJoy函數是在“ vJoyInterface.lib ”中的某個位置定義的,但我不知道,也不知道如何檢查。
QT Creator說有“未定義的引用”,但是我知道已經包含了原型,並且我假設它們是在與項目鏈接的庫中定義的,如下圖所示:
但老實說,我不知道這些函數實際定義在哪里,或者該庫是否正確鏈接。
@AlexanderVX在對我的問題的評論中提供了此答案
在項目編譯設置中從MinGW切換到MS VC ++之后,我向“ MouseToJoystick.pro ”文件中添加了1行代碼。
這是新的代碼行:
項目文件代碼( 圖 )
之后,我進行了“全部清理”,“運行Qmake”和“全部重建”,如下圖所示:
步驟( 圖片 )
該程序可以編譯並完美運行,謝謝@AlexanderVX
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.