我构建了名为libCalculator.so的动态库。该库包含math.h中的__sin函数。
我想在CalculatorApp.cpp中使用这个共享库。
CalculatorApp包括主要功能。
我使用命令进行编译
g ++ -I ./inc -fpic -c src / Calculator.cpp -o obj / Calculator.o
g ++ -shared -o lib / libCalculator.so obj / Calculator.o
g ++ -I ./inc -L ./lib -o bin / CalculatorApp_shared src / CalculatorApp.cpp -lCalculator -lm
结果 - > ./ lib / libCalculator.so:未定义对`__sin'的引用
我该怎么办?
答案 0 :(得分:0)
我后来才知道。解决方案如下 - >
> g++ -I ./inc -c -fPIC -o obj/Calculator.o src/Calculator.cpp
> g++ -o lib/libCalculator_dynamic.so obj/Calculator.o -dynamic -lm -shared -fPIC
> g++ -c -I./inc -o obj/CalculatorApp.o src/CalculatorApp.cpp
> g++ -o bin/calculatorapp_dynamic obj/CalculatorApp.o lib/libCalculator_dynamic.so
我还修复了另一个错误 - >
在CalculatorApp.cpp中,我改变了
#include "Calculator.h"
---> #include "../inc/Calculator.h"