Skip to content

Commit d68cc81

Browse files
docs: Added README."en".md translation via https://github.com/dephraiim/translate-readme
1 parent 0d01905 commit d68cc81

File tree

1 file changed

+41
-31
lines changed

1 file changed

+41
-31
lines changed

README.en.md

+41-31
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,64 @@
33
- [Simplified Chinese](README.md)
44
- [English](README.en.md)
55

6-
Picture resources and so on come from the Internet.
7-
This code warehouse is for learning only, if it is used by others for commercial purposes, it has nothing to do with me! Please obey the license!
6+
Picture resources etc. come from the Internet.
7+
This code repository is for learning only. If it is used for commercial purposes by others, it has nothing to do with me! Please obey the license!
88

99
## Qt-App
1010

11-
A desktop application framework developed based on plug-ins, which can be used to quickly develop desktop applications;[qt-creator/src/libs/extensionsystem at master · qt-creator/qt-creator (github.com)](https://github.com/qt-creator/qt-creator/tree/master/src/libs/extensionsystem)
11+
- A desktop application framework developed based on plug-ins, which can be used to quickly develop desktop applications;[qt-creator/src/libs/extensionsystem at master · qt-creator/qt-creator (github.com)](https://github.com/qt-creator/qt-creator/tree/master/src/libs/extensionsystem)
12+
- Cooperate[vcpkg](https://github.com/microsoft/vcpkg)to use;
13+
- Support both[cmake](.github/workflows/cmake.yml)and[qmake](.github/workflows/qmake.yml)compile;
14+
- [Support Apple Silicon native compilation;](#问题和备注)
15+
- support[actions](.github/workflows/cmake.yml)Compile, package and publish;
1216

1317
<div align="center"><img src="doc/Qt-App.jpg" width="90%" height="90%" /></div>
1418

1519
## CrashReport
1620

17-
Crash Reporter;
21+
crash reporting program;
1822

1923
<div align="center"><img src="doc/CrashReport.jpg" width="50%" height="50%" /></div>
2024

21-
## code structure
25+
## Code structure
2226

23-
1. [3rdparty](3rdparty): third-party library;
24-
1. [qtlockedfile](3rdparty/qtlockedfile): Qt file lock;
27+
1. [3rdparty](3rdparty): Third-party library;
28+
1. [qtlockedfile](3rdparty/qtlockedfile):Qt file lock;
2529
2. [qtsingleapplication](3rdparty/qtsingleapplication): Qt single instance;
2630
3. [breakpad](3rdparty/breakpad.hpp): Crash capture based on Google Breakpad package;
2731
2. [aggregate](aggregate):polymerization;
28-
3. [apps](apps):application;
32+
3. [apps](apps):app;
2933
1. [app](apps/app):Qt-App;
3034
2. [crashreport](apps/crashreport):CrashReport;
3135
4. [cmake](cmake): Encapsulated CMake utility function;
32-
1. [utils](cmake/utils.cmake): utility function;
33-
5. [core](core): All plugins inherit from this;
36+
1. [utils](cmake/utils.cmake): Utility function;
37+
5. [core](core): Plug-ins are inherited here;
3438
6. [extensionsystem](extensionsystem): Plug-in system, the code comes from Qt-Creator, with some modifications;
35-
7. [gui](gui): encapsulated interface components;
36-
8. [plugins](plugins): plugin;
37-
1. [coreplugin](plugins/coreplugin): Core plugin, main interface, menu, toolbar, status bar, settings, plugin manager, etc.;
38-
2. [hashplugin](plugins/hashplugin): Hash plugin, hash algorithm provided by QT;
39-
3. [serialplugin](plugins/serialplugin): serial port plug-in;
40-
4. [tcpplugin](plugins/tcpplugin): TCP plugin;
41-
9. [resource](resource): pictures and QSS files;
42-
10. [utils](utils): utility function package;
43-
44-
## Questions and Notes
45-
46-
1. MacOS, the bundle generated by cmake is not generated under the .app/Contents/ folder`PkgInfo`document;
47-
1. [app/CMakeLists](/apps/app/CMakeLists.txt), using this CMakeLists.txt can generate bundles on MacOS, and can also display icons normally, but there is no PkgInfo file;
48-
2. How should cmake generate PkgInfo files?
49-
1. WireShark uses`set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/PkgInfo PROPERTIES MACOSX_PACKAGE_LOCATION .)`In a similar way, copy it to the bundle;
50-
3. qmake will generate PkgInfo file by default, only need to specify`TARGET=app`or`CONFIG+=bundle`can;
51-
2. Under the Unix system, it is necessary to use the static library as much as possible to avoid the dependency problem of the dynamic library;
52-
1. Several modules in this project are dynamic libraries, because they are plugins, they need to be loaded dynamically;
53-
2. Then you need to package these dynamic libraries, and then load them at runtime, and you also need to rpath`"-Wl,-rpath,\'\$$ORIGIN\':\'\$$ORIGIN/lib\':'\$$ORIGIN/../lib'")`, make settings, otherwise the dynamic library will not be found;
39+
7. [gui](gui): Encapsulated interface component;
40+
8. [plugins](plugins):Plug-in;
41+
1. [coreplugin](plugins/coreplugin): Core plug-in, main interface, menu, toolbar, status bar, settings, plug-in manager, etc.;
42+
2. [hashplugin](plugins/hashplugin): Hash plug-in, the hash algorithm provided by QT;
43+
3. [serialplugin](plugins/serialplugin): Serial plug-in;
44+
4. [tcpplugin](plugins/tcpplugin): TCP plug-in;
45+
9. [resource](resource): Pictures and QSS files;
46+
10. [utils](utils): Tool function encapsulation;
47+
48+
## Questions and comments
49+
50+
- MacOS, the bundle generated by cmake is not generated in the .app/Contents/ folder`PkgInfo`document;
51+
1. [app/CMakeLists](/apps/app/CMakeLists.txt), use this CMakeLists.txt to generate a bundle on MacOS, and the icon can be displayed normally, but there is no PkgInfo file;
52+
2. How does cmake generate PkgInfo files?
53+
1. WireShark use`set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/PkgInfo PROPERTIES MACOSX_PACKAGE_LOCATION .)`In a similar way, copy it to the bundle;
54+
3. qmake will generate a PkgInfo file by default, you only need to specify`TARGET=app`or`CONFIG+=bundle`That’s it;
55+
56+
- Under Unix systems, you need to use static libraries as much as possible to avoid dependence on dynamic libraries;
57+
1. Several modules in this project are dynamic libraries, and because they are plugins, they need to be loaded dynamically;
58+
2. Then you need to package these dynamic libraries and load them at runtime. You also need to modify the rpath`"-Wl,-rpath,\'\$$ORIGIN\':\'\$$ORIGIN/lib\':'\$$ORIGIN/../lib'")`, set it, otherwise the dynamic library will not be found;
5459
3. Or use install_name_tool (macos), patchelf/chrpath (linux) to modify the dependency path of the dynamic library, which is very troublesome;
55-
4. Also consider that these libraries can be shared, so don't pack them repeatedly;
56-
5. You can see the details[workflows](.github/workflows/cmake.yml)
60+
4. Also consider that these libraries can be shared, so do not package them repeatedly;
61+
5. For details, please see[workflows](.github/workflows/cmake.yml)
62+
63+
- MacOS,[vcpkg](https://github.com/microsoft/vcpkg)Issues with compiling third-party libraries;
64+
1. because[vcpkg](https://github.com/microsoft/vcpkg)at present[Only supports separate compilation of x64-osx and arm64-osx](https://github.com/microsoft/vcpkg/discussions/19454)
65+
2. In use[cmake](.github/workflows/cmake.yml), you need to specify`CMAKE_OSX_ARCHITECTURES=x86_64`or`CMAKE_OSX_ARCHITECTURES=arm64`;
66+
3. In use[qmake](.github/workflows/qmake.yml), you need to specify`QMAKE_APPLE_DEVICE_ARCHS=x86_64`or`QMAKE_APPLE_DEVICE_ARCHS=arm64`

0 commit comments

Comments
 (0)