我有一个奇怪的问题。我有一个依赖于Qt,Zlib和ruby的程序,我使用mxe(x86_64-w64-mingw32.shared)在ubuntu上交叉编译。
我使用的ruby不包含在mxe包中,但已使用相同的工具链进行编译。
然后我有一个安装了msys2的Windows 10 64位测试虚拟机。当我从Linux上的wine或windows上的msys2中运行程序时,它运行没有任何问题。但是,当我直接从资源管理器启动它时,程序按预期启动,但是当我运行ruby_setup()
时失败(之前我使用RUBY_INIT_STACK;
,但之前没有使用ruby_sysinit(&argc, &argv);
,因为我在中间丢失了agathe_config.dll
agathe_models.dll
agathe_modules.dll
agathe_params.dll
agathe_ressources.dll
agathe_ruby.dll
agathe_utils.dll
agathe_views.dll
agathe_widgets.dll
libbz2.dll
libeay32.dll
libffi-6.dll
libfreetype-6.dll
libgcc_s_seh-1.dll
libgdbm-3.dll
libgdbm_compat-3.dll
libglib-2.0-0.dll
libgmp-10.dll
libharfbuzz-0.dll
libiconv-2.dll
libintl-8.dll
libjasper-1.dll
libjpeg-9.dll
liblcms2-2.dll
liblzma-5.dll
libmng-2.dll
libpcre16-0.dll
libpcre-1.dll
libpng16-16.dll
libstdc++-6.dll
libtiff-5.dll
libwebp-5.dll
libwebpdemux-1.dll
libyaml-0-2.dll
libzip-4.dll
qsvgicon.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Svg.dll
Qt5Widgets.dll
ssleay32.dll
x64-msvcrt-ruby230.dll
zlib1.dll
我的计划。
我的程序提供的dll列表是(以agathe_为前缀意味着它们由我编码,ruby初始化在agathe_ruby.dll中完成):
Referential integrity constraint violation: "FK_APCC8LXK2XNUG8377FATVBN04:
PUBLIC.USER_ROLE FOREIGN KEY(USER_ID) REFERENCES PUBLIC.USERS(ID) (40)";
SQL statement: delete from users where id=? and version=? [23503-176]
是否有人遇到同样的问题并且知道修复它的方法?
答案 0 :(得分:0)
好的,我找到了解决这个问题的方法......我不知道具体程度如何:
ruby_setup()
某处。make clean