如何解决mac OSX 上的简单动态链接库链接器错误
我从这个源代码编译了名为“NewProject.dylib”的动态链接库。
//
// source.hpp
// NewProject - Dynamic Library
//
//
#ifndef source_hpp
#define source_hpp
#include <stdio.h>
int greatest_common_divisor(int x,int y) {
int r,tmp;
if(x < y){
tmp = x;
x = y;
y = tmp;
}
r= x % y;
while(r != 0){
x = y;
y = r;
r = x % y;
}
return y;
}
#endif /* source_hpp */
然后我做了 test.cpp
#include <iostream>
int greatest_common_divisor(int x,int y);
int main() {
greatest_common_divisor(1,2);
std::cout << "Hello Test!\n";
return 0;
}
尝试编译
g++ -o test test.cpp -L ./ -INewProject
Undefined symbols for architecture x86_64:
"greatest_common_divisor(int,int)",referenced from:
_main in test-90ee6f.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command Failed with exit code 1 (use -v to see invocation)
我认为这是因为导入库无法正常工作。
但是我应该在哪里修复???
通常,名称应该是 lib***.so ???我从 juce
框架制作了动态库。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。