[英]Compile shared library linux gcc/g++ cpp
我已经成功编译并创建了一个共享库,但是我不确定它是否真正被共享并链接/模拟到DLL。能否告诉我它是否正确? 我已经共享了。h,main.cpp,nameOfLib.cpp。
shared.h
#ifndef SHARED_H
#define SHARED_H
int helpingLib();
#endif
main.cpp
#include "shared.h"
#pragma once
int main(){
helpingLib();
return 0;
}
nameOfLib.cpp
#pragma once
int helpingLib(){ return 20;}
Console:
g++ -shared -fPIC nameOfLib.cpp -o renameTo.so
//create local var
export $MY_LD_PATH = /home/student/Documents/Total/LinuxXlib/renameTo.so
g++ main.cpp -Wl,$MY_LD_PATH -o executable
首先,它是一个真正可共享的图书馆吗? 即使使用nameOfLib.cpp中复杂的cpp代码,它也可以正常工作
我不确定它是否真正共享
是的。
但是,用于链接到该共享库的命令行是错误的。 改为这样做:
g++ main.cpp -o executable /home/student/Documents/Total/LinuxXlib/renameTo.so
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.