| [ Return to Bugs & Features | SVN ⇄ GIT ]
STR #2963
Application: | FLTK Library |
Status: | 2 - Closed w/o Resolution |
Priority: | 3 - Moderate, e.g. unable to compile the software |
Scope: | 3 - Applies to all machines and operating systems |
Subsystem: | None |
Summary: | Cannot compile fltk 3.0 to the x64 target in Visual Studio 2012 |
Version: | 3.0 |
Created By: | simulacrum111 |
Assigned To: | matt |
Fix Version: | Unassigned |
Update Notification: | |
Trouble Report Files:
No files
Trouble Report Comments:
|
#1 | simulacrum111 08:04 May 17, 2013 |
| BUG: MSBuild in Visual Studio 2012 has "BuildInParallel" enabled by default. When attempting to compile in Visual Studio 2012 the FTK1011 error is generated repeatedly. A file cannot be accessed because it is locked by another cl.exe process.
SOLUTION: Disable "BuildInParallel" in the Visual Studio IDE. Navigations: TOOLS -> Options -> Projects and Solutions -> Build and Run Change required: Set "maximum number of parallel project builds" to 1.
This allows flk 3.0 to build to the x64 target in Visual Studio 2012.
POSSIBLE ROOT CAUSE: Project dependencies are not preserved when "creating" the x64 build configuration in Visual Studio 2012 or they were not set correctly for the Win32 build configuration initially.
SUGGESTION: Add the x64 build configuration for all projects in the solution and ensure project dependencies are correct for distribution of fltk 3.0. This would prevent Visual Studio from "breaking things" when the end-user is forced to create the x64 configuration since it was not included by default for distribution.
Apologies if wrong or I didn't obey protocols for submitting this STR. | |
|
#2 | AlbrechtS 12:30 May 17, 2013 |
| Comments (only), may need further checks:
(1) ISTR that we had a similar problem with FLTK 1.3, and we fixed it by setting proper build directories (don't recall what it was called: temporary or working directories?). The trick was to set a different one for each (independent) project.
(2) ISTR that VS 2010/2012 Express (the free versions) don't support 64-bit builds. Does anyone know for sure? Otherwise I could maybe test this, but I don't have the full version(s) available.
(3) Also, ISTR that the VS IDE files are generated by fluid or some other tool in FLTK 3.0, so that an example config might help to create the correct build configuration for x64. I believe that a diff with only one project's x64 build config might help. Otherwise, we'd probably need the full modified IDE files as diff, since devs can't create them - but I don't know for sure, maybe only Matt knows...
Suggestion: please post a diff with ONE additional x64 build configuration (if that's possible), maybe for one of the test programs or the fltk library itself. Then we should wait for others to comment to see what would be the best way to proceed. | |
|
#3 | greg.ercolano 12:38 May 17, 2013 |
| I've definitely built 64bit binaries with VS 2010.
It was tricky to get working though; the default download of VS only built 32bit. To do 64bit, you had to add on another package. PITA.
I built from the command line, and as I recall, there was a separate batch script one had to run to get a DOS prompt whose compile environment had the right env variable settings to support 64bit builds. Wasn't fun, but it did work finally, after a day of swearing at the screen.. | |
|
#4 | AlbrechtS 13:18 May 17, 2013 |
| Okay, now I checked ... at least I can say that I have VS 2010 *Express* and I *CAN* select 64-bit (x64) build options. I can't select x64 options with VS 2008 Express though, so this might be what I remembered.
Platform: Windows 7, 64-bit:
I tried a FLTK 1.3(!) build (x64 target) with VS 2010 Express by *naively* "converting" (copying) the settings, but then I found that comctl32.lib was not found when linking. After removing comctl32.lib for testing, the next one to complain was kernel32.lib ... I gave up. I don't know how to replace these libs, and Google wasn't of much help (although there seemed to be similar questions, but nothing helped _me_). Note that the same project builds with Win32 target.
Sorry, I can't help... | |
[ Return to Bugs & Features ]
|
| |