C++ 将软件移植到Windows,我应该将/usr/share文件放在哪里?

C++ 将软件移植到Windows,我应该将/usr/share文件放在哪里?,c++,windows,cmake,C++,Windows,Cmake,我正在Linux上编写一个名为Bezitopo的程序,必须将其移植到Windows。这是C++中的一个CGED项目,使用基本的QT库核心部件GUI语言工具,并有一些文件的投影列表,以及一些必须安装在程序中可以找到的翻译文件。在Linux上,当我开发它时,它们进入~/share/中,并且在打包后进入/usr/share中。在Windows上,我知道库与可执行文件位于同一目录中,但投影和翻译到哪里去了 install(TARGETS bezitopo convertgeoid viewtin DES

我正在Linux上编写一个名为Bezitopo的程序,必须将其移植到Windows。这是C++中的一个CGED项目,使用基本的QT库核心部件GUI语言工具,并有一些文件的投影列表,以及一些必须安装在程序中可以找到的翻译文件。在Linux上,当我开发它时,它们进入~/share/中,并且在打包后进入/usr/share中。在Windows上,我知道库与可执行文件位于同一目录中,但投影和翻译到哪里去了

install(TARGETS bezitopo convertgeoid viewtin DESTINATION bin)
install(TARGETS bezilib0 bezilib1 DESTINATION lib)
install(FILES ${PROJECT_BINARY_DIR}/config.h DESTINATION include/bezitopo)
install(FILES ${qm_files} projections.txt transmer.dat DESTINATION share/bezitopo)
install(FILES ${header_files} DESTINATION include/bezitopo)
install(FILES bezitopo.h DESTINATION include)
在Windows上安装Bezitopo库的头文件可能并不重要,但需要安装projections.txt、transmer.dat和翻译文件

我已经在Windows的build目录下运行了这个程序,但是我还没有尝试在Windows上安装它。我外出参观,只带了我的Linux笔记本电脑;我的Windows笔记本电脑在家,一周后我会回家


我使用MinGW构建它并输入Git附带的bash shell。

通常在windows上,每个应用程序都有自己的前缀:

C:/Program Files/App1/bin/app1.exe
C:/Program Files/App2/bin/app2.exe
在您的情况下,您只需在应用程序前缀中创建一个共享目录:

C:/Program Files/bezitopo/share/bezitopo/....

但是投影和翻译到哪里去了呢?可能是可执行文件附近的某个文件夹,除非数据需要更改。应用程序可以读取C:\Program files\myAppName\somefolder中的文件,但不能在没有提升的情况下在其中写入文件。不要为Windows上的共享组件操心,没有人会这样做。只要把所有必要的东西和你的应用程序捆绑在一起就可以了。在互联网上搜索Windows DLL地狱。