编译共享库Linux GCC/G CPP

Compile shared library linux gcc/g++ cpp

本文关键字:CPP GCC Linux 共享 编译      更新时间:2023-10-16

我已经成功编译并创建了一个共享对象,但是我不确定它是否真正共享和链接到DLL。您可能会告诉我它是否正确吗? 我已共享。

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