Message boards : API : #define conflicts building app
Message board moderation
Author | Message |
---|---|
Send message Joined: 29 May 07 Posts: 11 |
The app I'm trying to build is my app, and I've built it before, but it's been three years, so I'm sure I've forgotten a lot. My old laptop's hard drive died, so I'm trying to set up a new Windows BOINC build environment, with either VS 2008 express or 2012 express. I built the API without problems (three things I think, including _staticcrt in some cases.) But when I try to link in BOINC 6.10.17, I get: m:\boinc\api\boinc_api.h(136) : error C2146: syntax error : missing ';' before identifier 'worker_thread_handle' m:\boinc\api\boinc_api.h(136) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int m:\boinc\api\boinc_api.h(136) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(334) : error C2378: 'HANDLE' : redefinition; symbol cannot be overloaded with a typedef m:\boinc\api\boinc_api.h(136) : see declaration of 'HANDLE' C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(340) : error C2143: syntax error : missing ';' before '*' And many similar errors for HANDLE, GLOBALHANDLE, LOCALHANDLE, etc. I think it's all related to those terms being redefined in BOINC's header files. I tried substituting in the .NET Framework 3.5 SP1 SDK files, and it had no effect - though I didn't try rebuilding the BOINC libraries that way. What am I doing wrong? |
Send message Joined: 4 Jul 12 Posts: 321 |
You should always link against the latest BOINC libraries. There are some bugs and enhancements within the last 3 years. The windows boinc_depends are also in another repository: http://boinc.berkeley.edu/trac/browser I don't have a Windows build env so I can't help more. Better help could be found in the boinc_dev mailinglist. |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.