在我的Mac OSX El Capitan上编译带有意外错误的简单C++类
Compile Simple C++ class with unexpected errors on my Mac OSX El Capitan
我的类文件:Mylib.h
class myclass {
public:
myclass();
public:
void fun();
};
我的头文件:Mylib.cpp
myclass::myclass() {
}
void myclass::fun() {
std::cout<<"fun"<<std::endl;
}
我的主文件:try.cpp
#include<iostream>
#include "Mylib.h"
using namespace std;
int main() {
std::cout<<"cool"<<std::endl;
myclass myobj;
}
我在我的Mac OSX El Captitan(10.11.4)中编译try.cpp
g++-o尝试.cpp
我收到以下错误:
g++ -o try try.cpp
Undefined symbols for architecture x86_64:
"myclass::myclass()", referenced from:
_main in try-f5efba.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
这是我的Mac OSX上的g++信息
g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
此代码不会使用任何编译器进行编译。首先,Mylib.h有类实现,Mylib.cpp有类定义。这是工作代码(有点修改):
Mylib.cpp
#include<iostream>
#include "Mylib.h"
MyClass::MyClass() { }
void MyClass::fun() {
std::cout << "fun" << std::endl;
}
Mylib.h
class MyClass {
public:
MyClass();
void fun();
};
try.cpp
#include<iostream>
#include "Mylib.h"
int main() {
std::cout<<"cool"<<std::endl;
MyClass myobj;
myobj.fun();
}
使用:g++ -o try try.cpp Mylib.cpp
编译
相关文章:
- vscode下的Arduino代码出现意外编译错误
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- C++标头错误 C2238 意外标记";"
- C++ 编译错误:意外的类型名称"字符串":预期的表达式
- 在gcc中意外调用了Const重载.编译器错误或兼容性修复程序
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- boost::p rogram_options 在指定意外的位置参数时不报告任何错误
- 从 C++ 调用 cURL 命令会返回意外的错误代码,如 1792 和 6656
- Qt5 C++中出现意外"Multiple definition"错误
- 排序程序的意外错误代码
- 在 c++ 中声明向量时出现意外错误
- 函数调用中出现意外编译错误 (C++)
- 使用相同的函数时意外收到"std::out_of_range"错误
- 在第三个 pary 函数中使用矢量引用时出现意外错误
- 创建进程失败,意外错误
- 企业架构师错误:意外符号修复
- 在 Linux C++的两个线程之间使用管道的错误/意外行为
- Mex运行时错误:意外的标准表达式
- Cmake 奇怪的错误:语法错误意外的令牌 ('
- Cuda错误:意外启动失败