編譯Touchlib出現問題 仍然尚未解決

2021-08-26 14:13:23 字數 2397 閱讀 7959

編譯touchlib出現問題(仍然尚未解決!)

2023年10月18日

%$%#!@$^)*)#$%%^!a的b,c你的d的!

要瘋掉了

!編譯touchlib出現問題,搞了一整天還是沒有搞定!

問題一:

syntax error : identifier 'camschedule'

這主要是因為在不同sdk的目錄裡包含了 多個 schedule.h file 和 refclock.h

因此需要在 tools-> options -> vc++ directories -> include

中調整 include 的順序

將samples/**********/directshow/baseclasses 放到其他的sdk之前即可

搞定!問題二:

輸出資訊:

1>正在生成**...

1>正在編譯資源清單...

1>microsoft (r) windows (r) resource compiler version 6.0.5724.0

1>正在鏈結...

1> 正在建立庫 d:\program files\touchlib\build\vc8\/../../lib/touchlibd.lib 和物件 d:\program files\touchlib\build\vc8\/../../lib/touchlibd.exp

1>link : warning lnk4098: 預設庫「libcmt」與其他庫的使用衝突;請使用 /nodefaultlib:library

1>dsvlcapturefilter.obj : error lnk2019: 無法解析的外部符號 __imp__coinitialize@4,該符號在函式 "public: __thiscall dsvlcapturefilter::dsvlcapturefilter(char *)" (??0dsvlcapturefilter@@qae@pad@z) 中被引用

1>d:\program files\touchlib\build\vc8\\..\..\bin\touchlibd.dll : fatal error lnk1120: 1 個無法解析的外部命令

1>生成日誌儲存在「file://d:\program files\touchlib\src\debug\buildlog.htm」

1>touchlib - 2 個錯誤,93 個警告

********** 全部重新生成: 成功 0 個,失敗 1 個,跳過 0 個 **********

查閱了好多資料:

按照touchlib官網的說法(官網提供的錯誤輸出資訊僅有錯誤資訊,不包含衝突警告,我不知道是它只貼出來了錯誤資訊,忽略了所有警告資訊,還是壓根就沒有這條衝突警告):可能是沒有增加環境變數;需要增加dsvl_home,值為dsvl的root目錄;

然而確認這個我早已經配置好的!

按照有關linker的說法:可能是執行庫時庫的問題;

解決方法1:執行時庫現在包含可防止混合不同型別的指令。如果試圖在同乙個程式中使用不同型別的執行時庫或使用除錯和非除錯版本的執行時庫,則將收到此警告。例如,如果編譯乙個檔案以使用一種執行時庫,而編譯另乙個檔案以使用另一種執行時庫(例如單執行緒執行時庫對多執行緒執行時庫),並試圖鏈結它們,則將得到此警告。應將所有原始檔編譯為使用同乙個執行時庫。有關更多資訊,請參見使用執行時庫(/md、/mt 和 /ld)編譯器選項。於是開啟專案屬性,在「配置屬性-->c/c++-->**生成-->執行時庫」中將「多執行緒(/mt)」修改為「多執行緒除錯(/mtd)」,再重新除錯一下,問題解決。

嘗試過,確定無效!

解決方法2:找到需要呼叫的模組的工程,重新編譯,使其生成該執行時庫下的.lib檔案。

嘗試過,確定無效!

按照linker的又乙個說法:涉及到載入庫順序的問題(比如mfc庫載入一定要在標準c庫之前,我猜想是因為mfc也需要載入標準c庫,因此就不會二次載入標準c庫)。

解決方法1:需要對連線順序進行調整。

嘗試過,仍然確定無效!

解決方法2:忽略所有預設庫,不過這樣可能會出問題。

嘗試過,果然出問題,因為程式確實呼叫了很多預設庫,絕對不可以全部忽略。

解決方法3:忽略衝突的預設庫。

嘗試過,衝突倒是沒有了,但是仍然有這樣的錯誤資訊,又回到了官網提供的連線錯誤問題(這次確實沒有了衝突警告(那是當然的,衝突的預設庫根本沒有載入嘛!))

1>dsvlcapturefilter.obj : error lnk2019: 無法解析的外部符號 __imp__coinitialize@4,該符號在函式 "public: __thiscall dsvlcapturefilter::dsvlcapturefilter(char *)" (??0dsvlcapturefilter@@qae@pad@z) 中被引用

抓狂,無奈,崩潰ing!

%¥%@¥!#%!%)**ioippdd你cax的y!

吃飯去!

編譯Touchlib出現問題 仍然尚未解決

編譯touchlib出現問題 仍然尚未解決 2009年10月18日 a的b,c你的d的!要瘋掉了 編譯touchlib出現問題,搞了一整天還是沒有搞定!問題一 syntax error identifier camschedule 這主要是因為在不同sdk的目錄裡包含了 多個 schedule.h ...

busybox編譯出現問題

一 修改makefile配置 首先解壓原始碼包 tar jxvf busybox 1.25.0.tar.bz2 進入busybox 1.25.0目錄,修改makefile檔案如下 arch arm cross compile arm linux 二 修改配置檔案 make menuconfig 選擇...

商務出現問題

今天tm開始找我抱怨,客戶方需要把我的job profile寫入合同 天啊,這個變化就大了,首先是這個job profile的工作就是乙個functional做的事情,而與我乙個abaper沒有多大的關係。但是在那邊我要負責他們從倉庫到財務,生產,質量等等與sap有關的所有的事情,這個包含的內容就非...