未定義的引用錯誤

2021-09-10 02:24:52 字數 734 閱讀 1508

在編譯工程時出現:

/librestapi.a(rest_harbor.o):在函式『rest_harbor_get_sysinfo』中: /rest_harbor.c:145:對『harbor_get_sysinfo』未定義的引用 collect2: error: ld returned 1 exit status

但是我包含了實現的標頭檔案。從報錯來看,是rest_harbor.o這個庫中沒有正確鏈結harbor.o,所以應該檢查makrfile。結果在工程最外層的lib.build中看到沒有加入harbor.o庫。加進去之後就編譯通過了。

fatal error lnk1112: 模組計算機型別「x64」與目標計算機型別「x86」衝突

fatal error lnk1112: module machine type 『x64』 conflicts with target machine type 『x86』

環境:win7 64 vs2013 qt5.3.2_64_opengl

問題產生原因:64位編譯器與32位編譯目標衝突。

解決途徑:

1.vs2013中,生成->配置管理器

2.專案->屬性->聯結器->高階->目標計算機

函式實現 要放到呼叫者的前面

OpenCV 編譯錯誤 未定義的引用

opencv安裝完成也有一陣子了,我才用的是編譯安裝,環境ubuntu16.04 lts。今天有時間想自己寫一點程式,卻發現編譯不過 如下,開啟命令列中輸入的檔名並展示在視窗中 openpicture.cpp include opencv2 highgui highgui.hpp int main ...

pthread create報出未定義錯誤

在c 中包含了通檔案pthread.h,include 但還是報錯了沒有定義的錯誤 undefined reference to pthread create undefined reference to pthread join 問題原因 pthread 庫不是 linux 系統預設的庫,連線時需...

對pthread create未定義的引用

已經在c檔案中包含了執行緒的標頭檔案,可是編譯的時候卻報錯 對pthread create未定義的引用 原來時因為 pthread庫不是linux系統預設的庫,連線時需要使用庫libpthread.a,所以在使用pthread create建立執行緒時,在編譯中要加 lpthread引數 gcc c...