Config.cmake Rasberry pi交叉编译设置中缺少错误

如何解决Config.cmake Rasberry pi交叉编译设置中缺少错误

我正在尝试在ubuntu 16.04上构建交叉编译系统,以缩短编译时间。

我已经安装了这些工具并从树莓派pi复制了库,并且肯定有一个简单的“ Hello world”示例效果很好。

当我尝试使用cmake和opencv生成程序时发生了问题。显然,它在主机系统中找不到OpenCVConfig.cmake,因为它仅存在于以下文件夹中的rpi上:

/ usr / local / lib / cmake / opencv4 $

我可以只将/ usr / local / lib / cmake文件夹复制到主机并手动修改库的安装路径吗?

错误消息:

找不到“ OpenCV”提供的软件包配置文件以及任何 以下名称中的一个:

full error list:

Traceback (most recent call last):
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\frameworks\torch\tensors\interpreters\native.py",line 333,in handle_func_command
cmd,args_,kwargs_,return_args_type=True
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\frameworks\hook\hook_args.py",line 157,in unwrap_args_from_function
new_args = hook_args(args_)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\frameworks\hook\hook_args.py",line 356,in
return lambda x: f(lambdas,x)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\frameworks\hook\hook_args.py",line 535,in three_fold
lambdas[1](args_[1],**kwargs),File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\frameworks\hook\hook_args.py",line 331,in
else lambda i: forward_functype(i)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\frameworks\torch\hook\hook_args.py",line 30,in
else (_ for _ in ()).throw(PureFrameworkTensorFoundError),File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\frameworks\torch\hook\hook_args.py",syft.exceptions.PureFrameworkTensorFoundError
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "",line 1,in
File "B:\tools and software\PyCharm 2020.1\plugins\python\helpers\pydev_pydev_bundle\pydev_umd.py",line 197,in runfile
pydev_imports.execfile(filename,global_vars,local_vars) # execute the script
File "B:\tools and software\PyCharm 2020.1\plugins\python\helpers\pydev_pydev_imps_pydev_execfile.py",line 18,in execfile
exec(compile(contents+"\n",file,'exec'),glob,loc)
File "B:/projects/GRA/FederatedLearningAnalysis/anomaly-detection/PyTroch_singleworker_combined_train_test.py",line 266,in
app.run(main)
File "B:\tools and software\Anaconda\envs\pysyft-pytorch\lib\site-packages\absl\app.py",line 299,in run
run_main(main,args)
File "B:\tools and software\Anaconda\envs\pysyft-pytorch\lib\site-packages\absl\app.py",line 250,in run_main
sys.exit(main(argv))
File "B:/projects/GRA/FederatedLearningAnalysis/anomaly-detection/PyTroch_singleworker_combined_train_test.py",line 261,in main
tr=tr,df_malicious=load_mal_data(),features=features)
File "B:/projects/GRA/FederatedLearningAnalysis/anomaly-detection/PyTroch_singleworker_combined_train_test.py",line 131,in test_with_data
Y_pred = model.predict(torch.from_numpy(X_test_scaled).float())
File "B:/projects/GRA/FederatedLearningAnalysis/anomaly-detection/PyTroch_singleworker_combined_train_test.py",line 204,in predict
x_pred = self.model(x)
File "B:\tools and software\Anaconda\envs\pysyft-pytorch\lib\site-packages\torch\nn\modules\module.py",line 532,in call
result = self.forward(*input,**kwargs)
File "B:/projects/GRA/FederatedLearningAnalysis/anomaly-detection/PyTroch_singleworker_combined_train_test.py",line 183,in forward
x = torch.tanh(self.fc1(x))
File "B:\tools and software\Anaconda\envs\pysyft-pytorch\lib\site-packages\torch\nn\modules\module.py",**kwargs)
File "B:\tools and software\Anaconda\envs\pysyft-pytorch\lib\site-packages\torch\nn\modules\linear.py",line 87,in forward
return F.linear(input,self.weight,self.bias)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\frameworks\hook\hook.py",line 336,in overloaded_func
response = handle_func_command(command)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\frameworks\torch\tensors\interpreters\native.py",line 343,in handle_func_command
response = new_type.handle_func_command(new_command)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\pointers\object_pointer.py",line 213,in handle_func_command
response = owner.send_command(location,cmd_name=cmd,args=args,kwargs_=kwargs_)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\workers\base.py",line 626,in send_command
ret_val = self.send_msg(message,location=recipient)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\workers\base.py",line 274,in send_msg
bin_response = self.send_msg(bin_message,location)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\workers\virtual.py",line 16,in send_msg
return location.recv_msg(message)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\workers\virtual.py",line 20,in recv_msg
return self.recv_msg(message)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\workers\base.py",line 310,in recv_msg
response = self.message_routertype(msg)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\workers\base.py",line 451,in execute_tensor_command
return self.execute_computation_action(cmd.action)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\workers\base.py",line 514,in execute_computation_action
response = command(*args,**kwargs)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\frameworks\hook\hook.py",line 367,in handle_func_command
response = cls.get_response(cmd,args,kwargs)
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\frameworks\torch\tensors\interpreters\native.py",line 401,in get_response
response = command_method(*args,**kwargs)
File "B:\tools and software\Anaconda\envs\pysyft-pytorch\lib\site-packages\torch\nn\functional.py",line 1370,in linear
ret = torch.addmm(bias,input,weight.t())
File "C:\Users\OMEGA-Money\AppData\Roaming\Python\Python36\site-packages\syft\generic\frameworks\hook\hook.py",**kwargs_)
IndexError: Dimension out of range (expected to be in range of [-1,0],but got 1)

CODE bits:

    def predict(self,x):
        x = x.send('testing')
        self.model.send(x.location)
        x_pred = self.model(x)
        mse = np.mean(np.power(x.get().data.numpy() - x_pred.get().data.numpy(),2),axis=1)
        y_pred = mse > self.threshold
        return y_pred.astype(int)

CODE 2:

X_test = df.drop(columns=["malicious"]).values
    X_test_scaled = scaler.transform(X_test)
    Y_test = df["malicious"]
    Y_pred = model.predict(torch.from_numpy(X_test_scaled).float())

将“ OpenCV”的安装前缀添加到CMAKE_PREFIX_PATH或进行设置 “ OpenCV_DIR”到包含上述文件之一的目录。如果是“ OpenCV” 提供单独的开发包或SDK,请确保已 已安装。

我的CMakeLists.txt:

OpenCVConfig.cmake
opencv-config.cmake

解决方法

在您的方案中,您已将软件包安装在自定义位置。

您可以尝试以下操作(来自the cmake manual):

默认搜索顺序被设计为最特定于 最不特定于常见用例。项目可能会覆盖顺序 通过简单地多次调用命令并使用NO_ * 选项:

find_package (<package> PATHS paths... NO_DEFAULT_PATH)

,

我建议您通常使用一些cmake选项进行Linux交叉编译:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)

set(CMAKE_SYSROOT /home/devel/rasp-pi-rootfs)
set(CMAKE_STAGING_PREFIX /home/devel/stage)

set(tools /home/devel/gcc-4.7-linaro-rpi-gnueabihf)
set(CMAKE_C_COMPILER ${tools}/bin/arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER ${tools}/bin/arm-linux-gnueabihf-g++)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

请参见link,其中说明了选项

对我来说,一个简单的解决方案是添加以下文件(或编写您自己的文件): https://github.com/opencv/opencv/blob/2f4e38c8313ff313de7c41141d56d945d91f47cf/cmake/OpenCVConfig.cmake

到CmakeLists.txt所在的文件夹“ cmake-modules”,例如:

cmake-modules/FindOpenCV.cmake

然后请添加

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules)

在调用find_package(OpenCV)之前

另一种想法,用于快速修复的方法是使用系统变量来表达,在哪里可以找到不同cmake目标的opencv库 在调用cmake之前从commadline调用follwing命令:

export CMAKE_PREFIX_PATH=opencv_installation_folder/build

export OpenCV_DIR=opencv_installation_folder/build

或在您的cmake文件中写入

set (OpenCV_DIR /home/cmake/opencv/compiled) #change the path to match your complied directory of opencv

,

我认为您在交叉编译配置中缺少ScrollView

将所有交叉编译选项都放入一个所谓的工具链文件中,然后使用set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

另一个选择是从源代码构建OpenCV,因此您不必担心它是否已打包在工具链中。将cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchainfile/raspberrypi.cmake ..替换为:

find_package

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-