繁体   English   中英

编译共享库linux gcc / g ++ cpp

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM