Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 不知所措Can';我不明白为什么XCode 6.1赢了';t编译我的C++;程序_C++_Xcode_Xcode6_Static Linking - Fatal编程技术网

C++ 不知所措Can';我不明白为什么XCode 6.1赢了';t编译我的C++;程序

C++ 不知所措Can';我不明白为什么XCode 6.1赢了';t编译我的C++;程序,c++,xcode,xcode6,static-linking,C++,Xcode,Xcode6,Static Linking,虽然XCode在编译之前没有标记任何错误,但在我实际编译它时,它会显示4。是的 Undefined symbols for architecture i386: "HtmlProcessor::HtmlProcessor()", referenced from: _main in main.o "HtmlProcessor::~HtmlProcessor()", referenced from: _main in main.o "DocTree::_hp",

虽然XCode在编译之前没有标记任何错误,但在我实际编译它时,它会显示4。是的

Undefined symbols for architecture i386:
  "HtmlProcessor::HtmlProcessor()", referenced from:
      _main in main.o
  "HtmlProcessor::~HtmlProcessor()", referenced from:
      _main in main.o
  "DocTree::_hp", referenced from:
      DocTree::setTree(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in HtmlProcessor.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我已经摆弄了一切,试图让我该死的程序编译。我甚至不在乎目标架构是什么。。。。。我制作这个程序是为了自娱自乐,希望它能在我的机器上运行,这是一台运行OSX10.9.4的MacBookPro。我只是想让这个该死的控制台程序工作。您可能认为XCode将具有默认配置,以便您的程序在您的计算机上运行

以下是源文件:


诺贝尔奖颁给了堆栈溢出专家,他帮我摆脱了这一困境。

您在头文件中声明了函数,但没有在.cpp文件中定义(实现)它们。我在.cpp文件中找不到构造函数和析构函数的定义,尽管在标题中有声明。链接器随后会抱怨,因为它无法找到创建
HtmlProcessor
实例所需的目标代码

因此,请确保将ctor声明为空,如

HtmlProcessor(){}
或者完全删除声明, 或者使用
=默认值(如果使用C++11)


对于
DocTree::\u hp,您需要在某个地方定义它。

您声明了一个静态类成员,但没有在任何模块中定义它:

 class DocTree {
 //...
 static HtmlProcessor _hp;
 //...
};
这需要在一个且仅在一个模块中实现:

HtmlProcessor DocTree::_hp;
HtmlProcessor DocTree::_hp;