Windows下使用gcc生成.dll动态链接库

在使用 g++ 编译器编译 C++ 程序时,-L 选项用于指定链接器搜索库文件的目录。当你使用 -L 选项时,你告诉编译器在这些指定的目录中查找需要链接的库(.a 或 .so 文件)。这个选项对于解决找不到库文件或需要链接特定版本的库时非常有用。

以下是 -L 选项的一些常见用法:

指定单个库目录:

g++ -L/path/to/library my_program.cpp -o my_program
这会在指定的目录中搜索库文件。

指定多个库目录:

g++ -L/path/to/library1 -L/path/to/library2 my_program.cpp -o my_program
这会在两个指定的目录中搜索库文件。

结合 -I 选项使用:

g++ -I/path/to/headers -L/path/to/library my_program.cpp -o my_program
这会同时在指定的头文件目录和库文件目录中进行搜索。

使用环境变量:

g++ my_program.cpp -o my_program
如果你将库目录添加到 LIBRARY_PATH 环境变量中,g++ 会自动在这些目录中搜索库文件。

请注意,-L 选项只是告诉编译器在哪里查找库文件,并不实际链接库。要链接特定的库,你需要使用 -l 选项,后面跟上不带前缀 lib 的库名。例如,要链接名为 libexample.a 或 libexample.so 的库,你应该使用 -lexample。

正确使用 -L 和 -l 选项可以确保编译器找到并链接到正确的库文件,这对于程序的成功编译和运行至关重要。

生成dll命令:

g++ test.cpp -I头文件路径 -fpic -shared -o 动态库名

这里面test.cpp保存一些函数方法

 g++ TestClass.cpp -I ../inc -fPIC -shared -o TestClass.dll

调用动态库:

g++ main.cpp -I头文件路径 -L动态库路径 -I调用的动态库  -o 可执行文件名

这里面main.cpp是带有main函数的文件,它调用test.cpp里面的函数。

g++ main.cpp -I ../inc -L. -lTestClass -o dll

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值