我正在尝试使用名为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 ++不会改变这种情况。)
我感谢任何有关额外阅读的暗示或建议!提前谢谢!