目录
编译环境介绍:
1.单独创建的工作空间;
2.下载腾讯云c++对应的sdk包,build,make,sudo make install;
3.在工作空间中写调用代码,编译时出现问题;
一、头文件路径问题:
在华为云sdk和腾讯云sdk正常install后,在工作空间中调用时都会出现。
报错如下图:
1.1 原因:
这是因为sudo make install后一般只会在默认路径(/usr/local/include/)下生成一个core文件(其中包含核心头文件),后面自己需要用到的头文件都在下载的包中,因此需要手动添加到生成的(/usr/local/include/tencentcloud/)路径下。
1.2 解决办法:
cd到(/usr/local/include/tencentcloud/)路径下,将需要用到的头文件手动复制过来,执行命令sudo cp -r /home/lxz/tencentcloud-sdk-cpp/ocr/include/tencentcloud/ocr/ ocr,ocr为包名,路径根据实际情况修改。复制完毕后,若头文件还会报错,在c_cpp_properties.json文件中将头文件的路径"/usr/local/include**"添加到includePath中。
至此头文件路径问题解决。
二、编译时出现问题:
在路径问题解决后,编译时也会报错,使用华为云sdk和腾讯云sdk也都会出现
报错如下图:
显示调用头文件中的编写的类报错
2.1 原因
cmakelists的问题,少写了软链接的路径和名
2.2 解决办法
在cmakelists中的add_executable前面添加软链接的路径 link_directories("/home/lxz/tencentcloud-sdk-cpp/build/lib") ,路径根据实际修改,进入该路径文件夹下,有需要的软链接名,将软链接名加至target_link_libraries中。
文件夹包含的软链接如下图:
若编译报错如下(华为云):
仍为缺少软链接,在target_link_libraries中加入libcrypto.so即可。
至此编译问题解决。