Undefined symbols for architecture x86_64错误
2016-05-01 22:47
387 查看
Undefined symbols for architecture x86_64错误原因
错误提示
Undefined symbols for architecture x86_64:
“CreateMyThread(void ()(void), void*)”, referenced from:
_main in main.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
错误原因
在头文件中定义了inline函数,在cpp文件中实现
代码
MyThread.h: inline ThreadID CreateThread(ThreadFunc p_func, void *p_param); MyThread.cpp: inline ThreadID CreateThread(ThreadFunc p_func, void *p_param) { ThreadID t; DummyData* data = new DummyData; data->m_func = p_func; data->m_data = p_param; pthread_create(&t,0,DummyRun,data); if( t== 0){ delete data; } return t; }
错误解决
将inline函数放在头文件中
其它问题
void*转换成char
会提示error: cast from pointer to smaller type ‘char’ loses information;
因为指针类型的大小是根据操作系统的位数决定的,在64位系统里是8个字节,而char是4个字节。
不知道如何实现将空指针强制转化成字符型,尚待解决。
void PrintThread( void* data){ char c = (char)data; for(int i = 0;i < 1000; i++){ cout << c; cout.flush(); } }
相关文章推荐
- Xcode技巧:项目导入外部文件后编译运行出现Undefined symbols for architecture x86_64错误
- Undefined symbols for architecture x86_64错误原因
- Undefined symbols for architecture x86_64:错误
- Undefined symbols for architecture x86_64 错误处理
- iOS :undefined symbols for architecture x86_64错误解决方案
- Xcode技巧:项目导入外部文件后编译运行出现Undefined symbols for architecture x86_64错误
- Xcode技巧:项目导入外部文件后编译运行出现Undefined symbols for architecture x86_64错误
- Qt5.2.1 Mac 10.9 Undefined symbols for architecture x86_64 错误解决
- Undefined symbols for architecture x86_64错误
- QtCreator 提示错误:Undefined symbols for architecture x86_64: "vtable for XXX", referenced from
- Undefined symbols for architecture x86_64: 库链接错误
- 用xcode6.3编译早期工程时出现Undefined symbols for architecture x86_64错误的解决办法(转)
- iOS :undefined symbols for architecture x86_64错误解决方案
- mac上使用g++编译出错“Undefined symbols for architecture x86_64:” 错误解决办法
- Mac下Clion编译错误:Undefined symbols for architecture x86_64
- ios开发错误之: Undefined symbols for architecture x86_64
- 常见错误2:Undefined symbols for architecture x86_64: "std::
- Undefined symbols for architecture x86_64错误
- BUG-Undefined symbols for architecture x86_64错误
- iOS :undefined symbols for architecture x86_64错误解决方案