scarsty / kys-cpp

《金庸群侠传》c++复刻版,已完工
https://tiexuedanxin.net/
BSD 3-Clause "New" or "Revised" License
2.6k stars 373 forks source link

VS编译笔记 #7

Closed fyt000 closed 5 years ago

fyt000 commented 6 years ago

编译

  1. git clone https://github.com/scarsty/kys-cpp.git
  2. 在0步路径下 git clone https://github.com/scarsty/common.git
  3. 任意路径 git clone https://github.com/scarsty/local-lib.git, 复制include, lib到0步的目录下

建议作者尝试submodules https://blog.github.com/2016-02-01-working-with-submodules/ 这样就可以避开再额外clone和复制了

运行

下载ReadMe.MD中的资源文件,替换bin中的kys.exe即可

其他问题

如果找不到 <*.h>头文件,需要 Properties->General->Windows SDK Version 换成最新的

scarsty commented 6 years ago

我试过submodules和subtree感觉都不是很好用。

fyt000 commented 5 years ago

在下感觉会很好用

oONIo commented 5 years ago

先是iconv.h有問題,把iconv.h.in改名為iconv.c,但有編譯錯誤,直接網上找了一個。現在報錯 Error LNK1104 cannot open file 'sdl2.lib' 不知道怎樣解決。 文件在0路徑下 ├─lib │ ├─x64 │ └─x86

scarsty commented 5 years ago

先是iconv.h有問題,把iconv.h.in改名為iconv.c,但有編譯錯誤,直接網上找了一個。現在報錯 Error LNK1104 cannot open file 'sdl2.lib' 不知道怎樣解決。 文件在0路徑下 ├─lib │ ├─x64 │ └─x86

目前常见的依赖库是改用vcpkg来管理的,你可以先试一下vcpkg安装那些依赖库。 iconv,sdl2等都可以用它安装。

https://github.com/Microsoft/vcpkg

oONIo commented 5 years ago

先是iconv.h有問題,把iconv.h.in改名為iconv.c,但有編譯錯誤,直接網上找了一個。現在報錯 Error LNK1104 cannot open file 'sdl2.lib' 不知道怎樣解決。 文件在0路徑下 ├─lib │ ├─x64 │ └─x86

目前常见的依赖库是改用vcpkg来管理的,你可以先试一下vcpkg安装那些依赖库。 iconv,sdl2等都可以用它安装。

https://github.com/Microsoft/vcpkg

謝謝回復,我先是用了vcpkg,也是有大堆missing headers,我就安照@three0s的方式。其他問題也都解決了,卻又有了這問題。我是新生學習一下。

scarsty commented 5 years ago

先是iconv.h有問題,把iconv.h.in改名為iconv.c,但有編譯錯誤,直接網上找了一個。現在報錯 Error LNK1104 cannot open file 'sdl2.lib' 不知道怎樣解決。 文件在0路徑下 ├─lib │ ├─x64 │ └─x86

目前常见的依赖库是改用vcpkg来管理的,你可以先试一下vcpkg安装那些依赖库。 iconv,sdl2等都可以用它安装。 https://github.com/Microsoft/vcpkg

謝謝回復,我先是用了vcpkg,也是有大堆missing headers,我就安照@three0s的方式。其他問題也都解決了,卻又有了這問題。我是新生學習一下。

用vcpkg的话,需要集成到ide,或者手动设置一下h文件和lib文件的目录。 之前的很多依赖库是我自己收集的,后来我发现vcpkg搞的更好,就改用他的了。

oONIo commented 5 years ago

先是iconv.h有問題,把iconv.h.in改名為iconv.c,但有編譯錯誤,直接網上找了一個。現在報錯 Error LNK1104 cannot open file 'sdl2.lib' 不知道怎樣解決。 文件在0路徑下 ├─lib │ ├─x64 │ └─x86

目前常见的依赖库是改用vcpkg来管理的,你可以先试一下vcpkg安装那些依赖库。 iconv,sdl2等都可以用它安装。 https://github.com/Microsoft/vcpkg

謝謝回復,我先是用了vcpkg,也是有大堆missing headers,我就安照@three0s的方式。其他問題也都解決了,卻又有了這問題。我是新生學習一下。

用vcpkg的话,需要集成到ide,或者手动设置一下h文件和lib文件的目录。 之前的很多依赖库是我自己收集的,后来我发现vcpkg搞的更好,就改用他的了。

謝謝。

我重新clone了項目,也用vcpkg下載了

" SDL https://www.libsdl.org/ SDL_image https://www.libsdl.org/projects/SDL_image/ SDL_ttf https://www.libsdl.org/projects/SDL_ttf/ SDL_mixer https://www.libsdl.org/projects/SDL_mixer/ libiconv https://www.gnu.org/software/libiconv/ lua https://www.lua.org/ PicoSHA2 https://github.com/okdshin/PicoSHA2 sqlite3 https://www.sqlite.org/ asio boost的一部分,需在预处理中打开网络功能 " .\vcpkg.exe integrate project

Created nupkg: E:\vcpkg-master\scripts\buildsystems\vcpkg.E.vcpkg.vcpkgmaster.1.0.0.nupkg

With a project open, go to Tools->NuGet Package Manager->Package Manager Console and paste: Install-Package vcpkg.E.vcpkgmaster -Source "E:\vcpkg-master\scripts\buildsystems"

然後把在Visual Studio 2015裡添加。

最終build後,依然是 Severity Code Description Project File Line Suppression State Error LNK1104 cannot open file 'sdl2.lib' kys F:\VSCode\kys-cpp\LINK 1

scarsty commented 5 years ago

先是iconv.h有問題,把iconv.h.in改名為iconv.c,但有編譯錯誤,直接網上找了一個。現在報錯 Error LNK1104 cannot open file 'sdl2.lib' 不知道怎樣解決。 文件在0路徑下 ├─lib │ ├─x64 │ └─x86

目前常见的依赖库是改用vcpkg来管理的,你可以先试一下vcpkg安装那些依赖库。 iconv,sdl2等都可以用它安装。 https://github.com/Microsoft/vcpkg

謝謝回復,我先是用了vcpkg,也是有大堆missing headers,我就安照@three0s的方式。其他問題也都解決了,卻又有了這問題。我是新生學習一下。

用vcpkg的话,需要集成到ide,或者手动设置一下h文件和lib文件的目录。 之前的很多依赖库是我自己收集的,后来我发现vcpkg搞的更好,就改用他的了。

謝謝。

我重新clone了項目,也用vcpkg下載了

" SDL https://www.libsdl.org/ SDL_image https://www.libsdl.org/projects/SDL_image/ SDL_ttf https://www.libsdl.org/projects/SDL_ttf/ SDL_mixer https://www.libsdl.org/projects/SDL_mixer/ libiconv https://www.gnu.org/software/libiconv/ lua https://www.lua.org/ PicoSHA2 https://github.com/okdshin/PicoSHA2 sqlite3 https://www.sqlite.org/ asio boost的一部分,需在预处理中打开网络功能 " .\vcpkg.exe integrate project

Created nupkg: E:\vcpkg-master\scripts\buildsystems\vcpkg.E.vcpkg.vcpkgmaster.1.0.0.nupkg

With a project open, go to Tools->NuGet Package Manager->Package Manager Console and paste: Install-Package vcpkg.E.vcpkgmaster -Source "E:\vcpkg-master\scripts\buildsystems"

然後把在Visual Studio 2015裡添加。

最終build後,依然是 Severity Code Description Project File Line Suppression State Error LNK1104 cannot open file 'sdl2.lib' kys F:\VSCode\kys-cpp\LINK 1

是编译成功链接失败吗? 看一下sdl2.lib这个文件在vcpkg里面最后被放在了哪里,通常应该是install\x86-windows\lib 然后这些包需要安装一下,命令是(可能有漏的): vcpkg install sdl2 sdl2-ttf sdl2-image sdl2-mixer libiconv lua picosha2 asio sqlite3 其实我的意思是在vcpkg里安装了就不需要自己再下载h文件了。