fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
Is there a Windows.h file in your ...\Civ4SDK\WindowsSDK\include folder?
fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
Yes the windows.h file is there. Here is the path where I find it:Is there a Windows.h file in your ...\Civ4SDK\WindowsSDK\include folder?
Apparently yes because somebody has managed to do so and written about it somewhere on the forum. I imagine using a portable compiler (as in just the files. It doesn't actually have to be installed) together with wine would be the way to go. Visual Studio is essentially just a GUI for what is a makefile based project, meaning you can get away with compiling from command line if you really want to do so. Status of debugger in linux is unknown or untested.Is it possible to compile the DLL on Linux?
Yes, but the compiler crashes on wine versions above 1.7 so you'll need to get that. I downloaded it with PlayOnLinux and used it from the command line because PlayOnLinux's GUI didn't really work for me. Visual Studio doesn't work either, so you either have to get CodeBlocks (which was really slow for some reason, took like 45 minutes to compile the whole thing) or set up nmake manually.Is it possible to compile the DLL on Linux?
psapi.lib /LIBPATH:"Z:$HOME/.wine_versions/linux-amd64/1.7.55/lib/wine/fakedlls/"
cdb doesn't start at all. winedbg does, but you need to start the process with winedbg instead of wine, attaching to it will crash the game. You can supposedly set breakpoints with it, but so far I haven't had any luck finding out how.Status of debugger in linux is unknown or untested.
This is most likely a limitation of your script rather than an issue with Makefile 2.5 or wine. Granted Makefile 2.5 is more complex to call because the makefile needs to be called multiple times with different targets. The reason for this is target dependency limitations in nmake. Yes it's bad, but it's the best I can do with nmake and the only way to add support for using more than one CPU core to compile. For some reason nmake doesn't even have multi core support natively.which only works with Danny Daemonic's Makefile 1.0
Not really, my script is just a hack to make the process at least finish. Ideally there wouldn't be a need for the script at all, but nmake doesn't seem to work all that great on wine... especially on wine 1.7. Do mind that we're talking about a more than 5-year-old development version.This is most likely a limitation of your script
Sounds interesting, but I'm currently happy with my solution too Trying to compile code using an ancient version of VC++ on Linux has proven to be a great way to waste time, time I'd rather spend coding.Since WTP (develop branch) now relies on a perl script (autogenerated header) and strawberry perl comes with GNU make, rewriting the makefile to the GNU standard has become an option. This would fix a lot of the issues and makefile weirdness. However for the time being if it ain't broke, don't fix it.
That just depends on how far you're willing to go to avoid using Windows. Playing civ on a virtual machine does sound painful though, I feel like it'd be even harder to set up than wine+nmake.Isn't there an affordable way to get your hands on a Windows virtual machine? Or even set one up using the Windows license you're already using on your Windows installation? I'd love to develop my stuff on my Linux machine but all the cross compatibility issues aren't worth it. I wish you could just spin up a clean Windows environment.
I can't get Virtualbox to run.Isn't there an affordable way to get your hands on a Windows virtual machine? Or even set one up using the Windows license you're already using on your Windows installation? I'd love to develop my stuff on my Linux machine but all the cross compatibility issues aren't worth it. I wish you could just spin up a clean Windows environment.
I know it's meant as a compliment to Wine but it's also quite the drag on Windows.And surprisingly civ 4 is about as compatible with win10 as with wine.
It still works, but if you want to mod Civ4Col, then you should be in touch with the WTP team. Either you want to join the team or you want to make something else, in which case you should start from the WTP mod because it has years' worth of bugfixes and optimization.I know this is an old thread, but are any changes needed to make this guide work for Civ4Col (other than obviously a new .sln and the Civ4Col .dll source)?