相关疑难解决方法(0)

C库未使用gcc/g ++进行链接

我有一个我在gcc中使用的c库.该库具有扩展名.lib,但始终链接为静态库.如果我编写一个使用该库作为c代码的程序,那么一切都可以.但是,如果我将文件重命名为.cpp(在c/c ++中执行简单的操作),我会得到未定义的引用.这些是我为测试目的编写的简单小程序,因此没有花哨的东西.我编译使用:

gcc -g -Wall -I <path to custom headers> -o program main.c customlibrary.lib -lm -lpthread
Run Code Online (Sandbox Code Playgroud)

上面的作品就像一个魅力.然而:

g++ -g -Wall -I <path to custom headers> -o program main.cpp customlibrary.lib -lm -lpthread
Run Code Online (Sandbox Code Playgroud)

要么

gcc -g -Wall -I <path to custom headers> -o program main.cpp customlibrary.lib -lm -lpthread -lstdc++
Run Code Online (Sandbox Code Playgroud)

导致对customlibrary.lib中任何函数的未定义引用.我尝试创建一个名为customlibrary.a的符号链接,但没有运气.

为什么g ++不能识别我的库.不幸的是我无法访问库的源代码,但是将c-lib链接到c ++应该不是问题吧?

c g++ static-linking

22
推荐指数
1
解决办法
2万
查看次数

标签 统计

c ×1

g++ ×1

static-linking ×1