簡體   English   中英

在Xcode 4中使用和引用多個cpp文件

[英]Using and referencing multiple cpp files in Xcode 4

我是編程新手,目前正在從事一個項目,該項目太大了,無法保存在單個cpp文件中,因此我決定將其拆分為不同cpp文件中的組成部分。

該項目有3個cpp文件;

main.cpp,TwinCameraCapture.cpp,FaceCalibration.cpp,

該代碼的所有內容都位於FaceCalibration.cpp和TwinCameraCapture.cpp中,其中main.cpp如下所示:

#include "FaceCalibration.cpp"
#include "TwinCamCapture.cpp"

int main ()
{
    FaceCalibration();

    TwinCameraCapture();
}

FaceCalibration和TwinCameraCapture是它們各自的.cpp文件中的主要功能。

現在,我知道我在這里做錯了,我只是不知道它到底是什么。 嘗試編譯時出現的錯誤是:

Apple Mach-O鏈接器(Id)錯誤

命令/Developer/usr/bin/llvm-g++-4.2失敗,退出代碼為1

有人可以解釋我做錯了什么以及如何解決,或者指出要這樣做的指南嗎?

謝謝

編輯:完整的錯誤消息是:

    ld: duplicate symbol getWindow(cv::Rect_<int>)   in
 /Users/facebooth/Library/Developer/Xcode/DerivedData/FullProgramTest-
awrdeznffntuoacjytwewfbjdmza/Build/Intermediates/FullProgramTest.build/Debug/FullProgramTest.build/Objects-normal/x86_64/FaceCalibration.o and 
/Users/facebooth/Library/Developer/Xcode/DerivedData/FullProgramTest-
awrdeznffntuoacjytwewfbjdmza/Build/Intermediates/FullProgramTest.build/Debug/FullProgramTest.build/Objects-normal/x86_64/main.o for architecture x86_64
    Command /Developer/usr/bin/llvm-g++-4.2 failed with exit code 1

通常,您不會將.cpp文件用作#include。 您應該包含一個.h文件。

知道您的實際錯誤消息是什么,而不是僅是“失敗”消息,將很有幫助,但我懷疑它是“重復標識符”或諸如此類的-因為您的IDE已經在編譯並鏈接文件TwincameraCapture.cpp,然后您將那段代碼作為主要源代碼的一部分,這意味着編譯器兩次生成相同的代碼,鏈接器說:“這是您的意思之一?” 當它看到兩個函數具有完全相同的名稱時。

只需將包含main()函數的.cpp文件重命名為.h文件,然后適當調整#include即可使用。 我還遠遠不夠了解標題,以了解為什么在xCode或其他任何東西中都是這樣,但我確實知道這可行。

暫無
暫無

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

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