我已成功编译并创建了一个共享对象,但我不确定它是否真正与DLL共享和链接/模拟。你能否告诉我它是否正确? 我有shared.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代码,它也能正常工作答案 0 :(得分:0)
我不确定它是否真正共享
是的,是的。
您的命令行链接此共享库是错误的。这样做:
g++ main.cpp -o executable /home/student/Documents/Total/LinuxXlib/renameTo.so