如何将C库与C ++应用程序

时间:2018-01-14 02:54:35

标签: c++ c gcc compiler-errors static-libraries

我正在尝试使用名为libRNA的库。我按照他们网站上的说明安装了它。

如果我在main.c文件中调用该库的函数,我可以使用gcc编译器编译它,它就像魅力一样:

 gcc -g -Wall -fopenmp -std=c++11 test.c -lRNA -lm -o test.out

但是如果我们将文件重命名为main.cpp并使用gcc

进行编译
gcc -g -Wall -fopenmp -std=c++11 test.cpp -lRNA -lm -lstdc++ -o test.out

无法找到RNA lib的任何参考功能:

/home/joachim/tutorial_libs/test.cpp:18: undefined reference to `vrna_alloc(unsigned int)'
/home/joachim/tutorial_libs/test.cpp:19: undefined reference to `vrna_alloc(unsigned int)'
etc...

我读到gcc将.cpp文件视为c ++文件,将.c文件视为c文件。这是否意味着我无法将库与c ++文件链接?但是如何在c ++应用程序中使用库呢? (不用说使用g ++不会改变这种情况。)

我感谢任何有关额外阅读的暗示或建议!提前谢谢!

0 个答案:

没有答案