SeaYJ / MouseClick

🖱️ MouseClick 🖱️ 是一款功能强大的鼠标控制和管理软件,采用 QT Widget 开发 ,具备跨平台兼容性 。软件界面美观 ,操作直观,支持鼠标行为模拟 💻、鼠标动作记录 📝 和宏命令创建 ⚡,让用户在工作和游戏中实现高效自动化 🚀。提升你的数字生活体验,一切尽在掌控之中 🌟!
GNU General Public License v3.0
66 stars 4 forks source link

编译项目出错求助 #1

Closed longshensanjie closed 2 months ago

longshensanjie commented 2 months ago

按照 readme 编译步骤操作后依然失败,截图如下 屏幕截图 2024-08-08 115509 提示好像是去寻找 .a 库文件没找到,第三方库文件下面好像也没编译好的库文件,刚从qmake转到cmake,对第三方库的环境搭建安装不太熟悉,自己折腾了半天没弄明白,希望大大可以就这个项目的第三方库的环境搭建安装到编译成功的步骤详细解说一下,实在是自己没弄明白才来询问,真的很真诚发问,希望这样子没有打扰到您,万分感谢🙏

SeaYJ commented 2 months ago

好的,这个不是你的问题,是我没有配置好 .gitignore 文件,导致这个库文件没有被上传导致的。正在修复中...稍等一会儿~

SeaYJ commented 2 months ago

按照 readme 编译步骤操作后依然失败,截图如下 屏幕截图 2024-08-08 115509 提示好像是去寻找 .a 库文件没找到,第三方库文件下面好像也没编译好的库文件,刚从qmake转到cmake,对第三方库的环境搭建安装不太熟悉,自己折腾了半天没弄明白,希望大大可以就这个项目的第三方库的环境搭建安装到编译成功的步骤详细解说一下,实在是自己没弄明白才来询问,真的很真诚发问,希望这样子没有打扰到您,万分感谢🙏

已经修复了该项目结构问题,可以查看 commit 分支 1025e1a4eda01628a187e7964a3a07618644b189。你看看问题解决没?

longshensanjie commented 2 months ago

@SeaYJ 之前的问题没报错了,现在是新的问题,截图如下 屏幕截图 2024-08-08 140458 现在的提示是去找bin下面的dll文件了 - -

SeaYJ commented 2 months ago

@SeaYJ 之前的问题没报错了,现在是新的问题,截图如下 屏幕截图 2024-08-08 140458 现在的提示是去找bin下面的dll文件了 - -

感谢提醒,已经修复了。

之前 .gitignore 文件配置时没考虑那么多, 感谢你的 issue,这很有帮助。

commit 3c8ea0efffed0db206c1ffefcdf84d497ccc761e

longshensanjie commented 2 months ago

@SeaYJ 没事,也感谢你的耐心,这会看起来第三方库没问题了,但是好像有新的问题,可能还需要下你的帮助,截图如下 屏幕截图 2024-08-08 144446 上面是我的cmakelist文件,下面是报错 屏幕截图 2024-08-08 145953 有点看不懂了,怎么提示到系统默认的里面出错了

longshensanjie commented 2 months ago

@SeaYJ 另外我自己开了个新项目测试第三方库,复制deps文件,我发现只要在 cmakelist 当中添加如下的设置好像就能使用了

set(QWINDOWKIT_ROOT "${CMAKE_SOURCE_DIR}/deps/qwindowkit") find_package(QWindowKit REQUIRED PATH "${QWINDOWKIT_ROOT}/lib/cmake/QWindowKit")

set(QHOTKEY_ROOT "${CMAKE_SOURCE_DIR}/deps/qhotkey") find_package(QHotkey REQUIRED PATHS "${QHOTKEY_ROOT}/lib/cmake/QHotkey")

target_include_directories(${PROJECT_NAME} PRIVATE "${QWINDOWKIT_ROOT}/include/QWindowKit::Widgets") target_link_libraries(${PROJECT_NAME} PRIVATE QWindowKit::Widgets)

target_include_directories(${PROJECT_NAME} PRIVATE ${QHOTKEY_ROOT}/include) target_link_libraries(${PROJECT_NAME} PRIVATE qhotkey)

大概流程意思是去上面的路径里面找 cmake 配置文件,然后添加头文件和链接库,我现在基本知道了第三方库如何配置,我的疑问是 deps 里面这里面的两个库里面的那些文件是如何生成的,也就是第三方库是如何编译的过程我想学习一下,希望大大能把这整个详细流程给我理一下就好(比如现在想要使用gihthub上的qwindowkit,你是怎么编译成deps里的文件的,是使用的cmake gui工具吗,如果是,怎么配置来着,那些cmake配置文件是在编译过程当中自动生成的还是自己写的,我可能对这些东西比较疑问,基本就是第三方库的编译到配置使用这整个流程,感觉自己编译好难啊)

SeaYJ commented 2 months ago

@SeaYJ 另外我自己开了个新项目测试第三方库,复制deps文件,我发现只要在 cmakelist 当中添加如下的设置好像就能使用了

set(QWINDOWKIT_ROOT "${CMAKE_SOURCE_DIR}/deps/qwindowkit") find_package(QWindowKit REQUIRED PATH "${QWINDOWKIT_ROOT}/lib/cmake/QWindowKit")

set(QHOTKEY_ROOT "${CMAKE_SOURCE_DIR}/deps/qhotkey") find_package(QHotkey REQUIRED PATHS "${QHOTKEY_ROOT}/lib/cmake/QHotkey")

target_include_directories(${PROJECT_NAME} PRIVATE "${QWINDOWKIT_ROOT}/include/QWindowKit::Widgets") target_link_libraries(${PROJECT_NAME} PRIVATE QWindowKit::Widgets)

target_include_directories(${PROJECT_NAME} PRIVATE ${QHOTKEY_ROOT}/include) target_link_libraries(${PROJECT_NAME} PRIVATE qhotkey)

大概流程意思是去上面的路径里面找 cmake 配置文件,然后添加头文件和链接库,我现在基本知道了第三方库如何配置,我的疑问是 deps 里面这里面的两个库里面的那些文件是如何生成的,也就是第三方库是如何编译的过程我想学习一下,希望大大能把这整个详细流程给我理一下就好(比如现在想要使用gihthub上的qwindowkit,你是怎么编译成deps里的文件的,是使用的cmake gui工具吗,如果是,怎么配置来着,那些cmake配置文件是在编译过程当中自动生成的还是自己写的,我可能对这些东西比较疑问,基本就是第三方库的编译到配置使用这整个流程,感觉自己编译好难啊)

我原来的库就是这么配置的啊,只不过 ${PROJECT_NAME} 我是写死的。

另外,你上面那个图片的问题应该来自 qt_add_translations(MouseClick TS_FILES ${TRANSLATIONS_FILES}),我看他的意思好像是要你指定为 qt6_add_translations(MouseClick TS_FILES ${TRANSLATIONS_FILES})

这句是因为原来官方生产的东西不管用,我根据 Qt 官方的文档换的,MinGW 6.7.0 没有问题。

本身 Qt 也有 BUG,人家也在更新维护,所以有一些情况很正常。

建议就是先“清理”一下再“重新构建”!

longshensanjie commented 2 months ago

@SeaYJ ok,再就是希望了解学习一下 deps 里面这里面的两个库里面的那些文件是如何生成的,也就是第三方库是如何编译的过程,就以这两个库为例,qwindowkit 和 qhotkey,你是怎么编译成deps里的文件的,这块我也比较懵,也十分感谢你的耐心回复

SeaYJ commented 2 months ago

@SeaYJ ok,再就是希望了解学习一下 deps 里面这里面的两个库里面的那些文件是如何生成的,也就是第三方库是如何编译的过程,就以这两个库为例,qwindowkit 和 qhotkey,你是怎么编译成deps里的文件的,这块我也比较懵,也十分感谢你的耐心回复

为了适应多版本编译器的情况,后面我会考虑将第三方库直接作为子项目参与到项目中,否则第三方库的版本会对应不上,就会出问题。建议目前只使用 MinGW 6.7.0 版本,因为这两个第三方库就是我自己用这个版本的编译器编译后添加到项目中的。

至于第三方库的编译,你可以在 GITHUB 上搜索,他们都有自己的编译教程。

longshensanjie commented 2 months ago

@SeaYJ ok,再就是希望了解学习一下 deps 里面这里面的两个库里面的那些文件是如何生成的,也就是第三方库是如何编译的过程,就以这两个库为例,qwindowkit 和 qhotkey,你是怎么编译成deps里的文件的,这块我也比较懵,也十分感谢你的耐心回复

为了适应多版本编译器的情况,后面我会考虑将第三方库直接作为子项目参与到项目中,否则第三方库的版本会对应不上,就会出问题。建议目前只使用 MinGW 6.7.0 版本,因为这两个第三方库就是我自己用这个版本的编译器编译后添加到项目中的。

至于第三方库的编译,你可以在 GITHUB 上搜索,他们都有自己的编译教程。

enmmm,我看到了 gihub上的 qwindowkit 这个库,但是我没看懂它的编译教程,才特来请教

SeaYJ commented 2 months ago

@SeaYJ ok,再就是希望了解学习一下 deps 里面这里面的两个库里面的那些文件是如何生成的,也就是第三方库是如何编译的过程,就以这两个库为例,qwindowkit 和 qhotkey,你是怎么编译成deps里的文件的,这块我也比较懵,也十分感谢你的耐心回复

为了适应多版本编译器的情况,后面我会考虑将第三方库直接作为子项目参与到项目中,否则第三方库的版本会对应不上,就会出问题。建议目前只使用 MinGW 6.7.0 版本,因为这两个第三方库就是我自己用这个版本的编译器编译后添加到项目中的。 至于第三方库的编译,你可以在 GITHUB 上搜索,他们都有自己的编译教程。

enmmm,我看到了 gihub上的 qwindowkit 这个库,但是我没看懂它的编译教程,才特来请教

每个人环境不一样的,你具体问题可以去那边提 issue,问问是什么情况。因为我的 Qt 未安装在默认盘,所以是需要指定 Qt 编译器目录的。除此之外,你可能还会遇到其他问题,所以应该由更加专业的人来帮助你(我对他们的项目也仅仅是会用,理解不深,当初我也遇到好多问题,也是自己慢慢摸索的)。

longshensanjie commented 2 months ago

@SeaYJ ok,再就是希望了解学习一下 deps 里面这里面的两个库里面的那些文件是如何生成的,也就是第三方库是如何编译的过程,就以这两个库为例,qwindowkit 和 qhotkey,你是怎么编译成deps里的文件的,这块我也比较懵,也十分感谢你的耐心回复

为了适应多版本编译器的情况,后面我会考虑将第三方库直接作为子项目参与到项目中,否则第三方库的版本会对应不上,就会出问题。建议目前只使用 MinGW 6.7.0 版本,因为这两个第三方库就是我自己用这个版本的编译器编译后添加到项目中的。 至于第三方库的编译,你可以在 GITHUB 上搜索,他们都有自己的编译教程。

enmmm,我看到了 gihub上的 qwindowkit 这个库,但是我没看懂它的编译教程,才特来请教

每个人环境不一样的,你具体问题可以去那边提 issue,问问是什么情况。因为我的 Qt 未安装在默认盘,所以是需要指定 Qt 编译器目录的。除此之外,你可能还会遇到其他问题,所以应该由更加专业的人来帮助你(我对他们的项目也仅仅是会用,理解不深,当初我也遇到好多问题,也是自己慢慢摸索的)。

好的,我自己研究研究,十分感谢你的帮助