源代码:[code=c][/#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>int main(){ cv::Mat image = cv::imread("shuaige.png");
cv::namedWindow("shuaige");
cv::imshow("shuaige",image);
cv::waitKey(5000);
return 0;
}code]
编译安装了openCV,现在在/usr/local/arm/opt/arm/opencv-3.2.0/output/include 目录下有opencv 和opencv2两个文件夹
第一次用 arm-linux-g++ arm_cv_demo.cpp -o arm_cv_demo 编译,显示:
arm_cv_demo.cpp:1:32: error: opencv2/core/core.hpp: No such file or directory
arm_cv_demo.cpp:2:38: error: opencv2/highgui/highgui.hpp: No such file or directory
arm_cv_demo.cpp: In function 'int main()':
arm_cv_demo.cpp:6: error: 'cv' has not been declared
arm_cv_demo.cpp:6: error: expected ';' before 'image'
arm_cv_demo.cpp:7: error: 'cv' has not been declared
arm_cv_demo.cpp:8: error: 'cv' has not been declared
arm_cv_demo.cpp:8: error: 'image' was not declared in this scope
arm_cv_demo.cpp:9: error: 'cv' has not been declared
然后看网上用命令arm-linux-g++ `pkg-config --cflags opencv` `pkg-config --libs opencv` arm_cv_demo.cpp -lpthread -lrt -o arm_cv_demo,但是出现了下面的错误
好像是命名空间的问题,求解决方法。
/tmp/ccEF83Co.o: In function `main':
arm_cv_demo.cpp:(.text+0x30): undefined reference to `cv::imread(cv::String const&, int)'
arm_cv_demo.cpp:(.text+0x8c): undefined reference to `cv::namedWindow(cv::String const&, int)'
arm_cv_demo.cpp:(.text+0xfc): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'
arm_cv_demo.cpp:(.text+0x164): undefined reference to `cv::waitKey(int)'
/tmp/ccEF83Co.o: In function `cv::String::String(char const*)':
arm_cv_demo.cpp:(.text._ZN2cv6StringC1EPKc[cv::String::String(char const*)]+0x50): undefined reference to `cv::String::allocate(unsigned int)'
/tmp/ccEF83Co.o: In function `cv::String::~String()':
arm_cv_demo.cpp:(.text._ZN2cv6StringD1Ev[cv::String::~String()]+0x14): undefined reference to `cv::String::deallocate()'
/tmp/ccEF83Co.o: In function `cv::Mat::~Mat()':
arm_cv_demo.cpp:(.text._ZN2cv3MatD1Ev[cv::Mat::~Mat()]+0x3c): undefined reference to `cv::fastFree(void*)'
/tmp/ccEF83Co.o: In function `cv::Mat::release()':
arm_cv_demo.cpp:(.text._ZN2cv3Mat7releaseEv[cv::Mat::release()]+0x5c): undefined reference to `cv::Mat::deallocate()'
collect2: ld returned 1 exit status
#include<opencv2/highgui/highgui.hpp>int main(){ cv::Mat image = cv::imread("shuaige.png");
cv::namedWindow("shuaige");
cv::imshow("shuaige",image);
cv::waitKey(5000);
return 0;
}code]
编译安装了openCV,现在在/usr/local/arm/opt/arm/opencv-3.2.0/output/include 目录下有opencv 和opencv2两个文件夹
第一次用 arm-linux-g++ arm_cv_demo.cpp -o arm_cv_demo 编译,显示:
arm_cv_demo.cpp:1:32: error: opencv2/core/core.hpp: No such file or directory
arm_cv_demo.cpp:2:38: error: opencv2/highgui/highgui.hpp: No such file or directory
arm_cv_demo.cpp: In function 'int main()':
arm_cv_demo.cpp:6: error: 'cv' has not been declared
arm_cv_demo.cpp:6: error: expected ';' before 'image'
arm_cv_demo.cpp:7: error: 'cv' has not been declared
arm_cv_demo.cpp:8: error: 'cv' has not been declared
arm_cv_demo.cpp:8: error: 'image' was not declared in this scope
arm_cv_demo.cpp:9: error: 'cv' has not been declared
然后看网上用命令arm-linux-g++ `pkg-config --cflags opencv` `pkg-config --libs opencv` arm_cv_demo.cpp -lpthread -lrt -o arm_cv_demo,但是出现了下面的错误
好像是命名空间的问题,求解决方法。
/tmp/ccEF83Co.o: In function `main':
arm_cv_demo.cpp:(.text+0x30): undefined reference to `cv::imread(cv::String const&, int)'
arm_cv_demo.cpp:(.text+0x8c): undefined reference to `cv::namedWindow(cv::String const&, int)'
arm_cv_demo.cpp:(.text+0xfc): undefined reference to `cv::imshow(cv::String const&, cv::_InputArray const&)'
arm_cv_demo.cpp:(.text+0x164): undefined reference to `cv::waitKey(int)'
/tmp/ccEF83Co.o: In function `cv::String::String(char const*)':
arm_cv_demo.cpp:(.text._ZN2cv6StringC1EPKc[cv::String::String(char const*)]+0x50): undefined reference to `cv::String::allocate(unsigned int)'
/tmp/ccEF83Co.o: In function `cv::String::~String()':
arm_cv_demo.cpp:(.text._ZN2cv6StringD1Ev[cv::String::~String()]+0x14): undefined reference to `cv::String::deallocate()'
/tmp/ccEF83Co.o: In function `cv::Mat::~Mat()':
arm_cv_demo.cpp:(.text._ZN2cv3MatD1Ev[cv::Mat::~Mat()]+0x3c): undefined reference to `cv::fastFree(void*)'
/tmp/ccEF83Co.o: In function `cv::Mat::release()':
arm_cv_demo.cpp:(.text._ZN2cv3Mat7releaseEv[cv::Mat::release()]+0x5c): undefined reference to `cv::Mat::deallocate()'
collect2: ld returned 1 exit status
解决方案 »
- bash: /root/.bashrc:行32: 语法错误: 未预期的文件结尾
- linux从网卡上抓取数据
- 【net-snmp】snmpd.conf文件中对于 trap配置的个数有限制吗?
- 关于Nginx的问题
- Freeing init memory 还是启动卡在这个问题
- TCP发送数据的时候出现错误
- 从ubuntu adb push一个文件到Android系统的开发板上,push成功,但是开发板重启后,文件消失
- 利用TCP/UDP Socket调试工具给服务器指定端口发送信息,接受问题
- 学习嵌入式linux技术的路径规划
- 树莓派启动失败
- centos木马求助
- 新入git,一个SSH只能管理一个库?不能push!
把路径改成你对应文件夹的路径应该就行了