Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

windows编译通过但是生成的EXE闪退,怎么解决? #234

Closed
Jiangjiawei2 opened this issue Mar 12, 2022 · 11 comments
Closed

windows编译通过但是生成的EXE闪退,怎么解决? #234

Jiangjiawei2 opened this issue Mar 12, 2022 · 11 comments

Comments

@Jiangjiawei2
Copy link

1647095621(1)

@DefTruth
Copy link
Owner

你要确保所有的库都能链接上,比如要拷贝到exe相同的目录,并且模型文件已经下载好放在对应的位置,具体细节请参考rvm示例工程的C++代码。

@Jiangjiawei2
Copy link
Author

之前我按照#207编译生成lite.ai.toolkit.dll后直接在VS中右击lite_rvm点生成,产生的EXE是不行的。

随后我参考了https://github.com/DefTruth/RobustVideoMatting.lite.ai.toolkit中的lite.ai.toolkit,其中的include是相同的,区别是lib中的子文件夹MinSizeRel中我只有三个之前编译生成的dll文件,所以我把之前用来编译ite.ai.toolkit的lib和dll也放了进去,这样生成lite_rvm也是失败的。

作者说的拷贝到exe相同目录,我拷贝到build\lite.ai.toolkit\bin\MinSizeRel中,也好像不行。模型文件检查过,在hub/onnx/cv/rvm_mobilenetv3_fp32.onnx中存在相应的ONNX文件。所以我是哪一步做得不对,或者有什么步骤遗漏了吗,求指教

@xinsuinizhuan
Copy link

之前我按照#207编译生成lite.ai.toolkit.dll后直接在VS中右击lite_rvm点生成,产生的EXE是不行的。

随后我参考了https://github.com/DefTruth/RobustVideoMatting.lite.ai.toolkit中的lite.ai.toolkit,其中的include是相同的,区别是lib中的子文件夹MinSizeRel中我只有三个之前编译生成的dll文件,所以我把之前用来编译ite.ai.toolkit的lib和dll也放了进去,这样生成lite_rvm也是失败的。

作者说的拷贝到exe相同目录,我拷贝到build\lite.ai.toolkit\bin\MinSizeRel中,也好像不行。模型文件检查过,在hub/onnx/cv/rvm_mobilenetv3_fp32.onnx中存在相应的ONNX文件。所以我是哪一步做得不对,或者有什么步骤遗漏了吗,求指教

你换下模型,一共四个模型,有2个可以用,2个不能用

@nihenxiu
Copy link

你要确保所有的库都能链接上,比如要拷贝到exe相同的目录,并且模型文件已经下载好放在对应的位置,具体细节请参考rvm示例工程的C++代码。
{6M{WG92W9DEYDYFJA7_QQL
请问大佬,编译已经成功,并且已经将所有的库都拷贝到exe相同目录(如上图所示),模型文件也检查过了,但是exe报如下错误该怎么解决呢
UW2RZ3J$N(@8 `9VTPEIQ6P

@Jiangjiawei2
Copy link
Author

你要确保所有的库都能链接上,比如要拷贝到exe相同的目录,并且模型文件已经下载好放在对应的位置,具体细节请参考rvm示例工程的C++代码。
{6M{WG92W9DEYDYFJA7_QQL
请问大佬,编译已经成功,并且已经将所有的库都拷贝到exe相同目录(如上图所示),模型文件也检查过了,但是exe报如下错误该怎么解决呢
UW2RZ3J$N(@8 `9VTPEIQ6P

我也遇到了相同问题,不知道怎么解决

@DefTruth
Copy link
Owner

再试一下release模式下编译的吧。或者在test_lite_rvm.cpp里面加一些log,看看具体是什么问题。我感觉你的exe所在的路径不太对,中间多隔了一层Debug文件夹,会找不到模型和资源文件,因为我假设的测试工程的exe路径是 lite.ai.toolkit/build/lite.ai.toolkit/bin,所以往回跳3层刚好回到项目的根目录,但你这里多了一层Debug目录,所以还要再跳一层才能找到模型和资源文件。注意一下路径问题。

@nihenxiu
Copy link

好的,我试试👌,非常感谢

@lleesg
Copy link

lleesg commented Mar 19, 2022

很可能是dll没拷贝完全,比如onnxruntime.dll?

@Jiangjiawei2
Copy link
Author

Jiangjiawei2 commented Mar 19, 2022 via email

@Jiangjiawei2
Copy link
Author

再总结一下:如果是在release模式下编译,依赖库中只能放opencv_world455.lib,不能放opencv_world455d.lib。生成lite.ai.toolkit.dll后,将lite.ai.toolkit.dll放到exe所在目录,我这里是build\lite.ai.toolkit\bin\Release。同时lite.rvm这个项目中的依赖库也只能放opencv_world455.lib。

@Richardlyq
Copy link

再总结一下:如果是在release模式下编译,依赖库中只能放opencv_world455.lib,不能放opencv_world455d.lib。生成lite.ai.toolkit.dll后,将lite.ai.toolkit.dll放到exe所在目录,我这里是build\lite.ai.toolkit\bin\Release。同时lite.rvm这个项目中的依赖库也只能放opencv_world455.lib。

您好,你在Windows下跑起来了嘛?能否指导一下?有偿,可以的话可以加个vx:Leejackon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants