Linux编译Windows共享目录下代码
(金庆的专栏)
万神服务器代码是跨平台的。平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.
开发时,先在Windows上编译测试,再到Linux上编译测试。
因为用VC开发,可以使用VAssist, MetalScroll工具辅助,开发效率高。
VC编译通过,gcc编译仍会有出错。
用CMake构建时,编译目录与源码目录是分开的,这样就可以在 Linux 上编译 Windows 共享目录下的代码。
工作目录在Windows上,Linux下编译时,可以读取Windows下共享的工作目录源码。
编译时只需读取共享目录下的源码文件,不需要写共享目录,所以编译速度不会下降太多。
假设Windows下的工作目录为 d:\Game, 共享为 \\192.168.1.2\Game.
在 Linux 上 mount 该共享目录:
mount //192.168.1.2/Game ~/Game -o user=jinqing
假设 Linux 上编译目录为 ~/build/debug/, 在该目录下运行 cmake
cmake ~/Game/code -DCMAKE_BUILD_TYPE=Debug
然后
make
Win7上共享到 Linux 比较麻烦, 因为默认不开管理共享,需要开几个设置,并修改注册表。
可参考:Linux连接至Win7共享文件夹 ( http://www.examw.com/linux/all/158013/ )
需要将2个系统的时间校对下,不然可能不能触发make, 或者时钟警告。
因为Windows下文件名不区分大小写,所以 #include 文件名中大小写错误无法检测。
(金庆的专栏)
万神服务器代码是跨平台的。平时策划在Windows上开自己的服务器测试,测试和发布服务器为Linux.
开发时,先在Windows上编译测试,再到Linux上编译测试。
因为用VC开发,可以使用VAssist, MetalScroll工具辅助,开发效率高。
VC编译通过,gcc编译仍会有出错。
用CMake构建时,编译目录与源码目录是分开的,这样就可以在 Linux 上编译 Windows 共享目录下的代码。
工作目录在Windows上,Linux下编译时,可以读取Windows下共享的工作目录源码。
编译时只需读取共享目录下的源码文件,不需要写共享目录,所以编译速度不会下降太多。
假设Windows下的工作目录为 d:\Game, 共享为 \\192.168.1.2\Game.
在 Linux 上 mount 该共享目录:
mount //192.168.1.2/Game ~/Game -o user=jinqing
假设 Linux 上编译目录为 ~/build/debug/, 在该目录下运行 cmake
cmake ~/Game/code -DCMAKE_BUILD_TYPE=Debug
然后
make
Win7上共享到 Linux 比较麻烦, 因为默认不开管理共享,需要开几个设置,并修改注册表。
可参考:Linux连接至Win7共享文件夹 ( http://www.examw.com/linux/all/158013/ )
需要将2个系统的时间校对下,不然可能不能触发make, 或者时钟警告。
因为Windows下文件名不区分大小写,所以 #include 文件名中大小写错误无法检测。