| | 59 | === MinGW and Dev-C++ === |
| | 60 | |
| | 61 | If you can't or don't want to use Visual Studio to build applications, |
| | 62 | the easiest alternative is |
| | 63 | [http://www.bloodshed.net/devcpp.html Dev-C++], an open-source development environment based on the GCC compilers. |
| | 64 | Use the MinGW compile option. |
| | 65 | |
| | 66 | The boinc/lib and boinc/api directories contains makefiles ('''Makefile.mingw''') |
| | 67 | for building the respective libraries. |
| | 68 | |
| | 69 | SETI@home uses Dev-C++ for its Windows build; |
| | 70 | you can get the project file |
| | 71 | [https://setisvn.ssl.berkeley.edu/trac/browser/seti_boinc/client/win_build/seti_boinc.dev here]. |
| | 72 | |
| 61 | | [http://www.cygwin.com/ Cygwin] is an alternative to Visual Studio for building Windows apps. |
| 62 | | In order to run a cygwin application from BOINC, |
| 63 | | you need to supply all the cygwin DLLs that the application requires |
| 64 | | in addition to the executable. |
| 65 | | You can get LISTDLLS from http://www.sysinternals.com/. |
| 66 | | It will tell you what DLLs a running executable has loaded. |
| 67 | | |
| 68 | | Note that Cygwin is GPL software. |
| 69 | | If you link to the cygwin DLL, |
| 70 | | then either your application has to be GPL as well, |
| 71 | | or you will have to buy a commercial license from Red Hat. |
| 72 | | |
| 73 | | TODO: develop a Makefile for building example_app under Cygwin. |
| 74 | | It can assume that the libraries in boinc/lib and boinc/api have already been built. |
| 75 | | Verify that _autosetup/configure/make work in boinc/. |
| 76 | | |
| | 75 | [http://www.cygwin.com/ Cygwin] may be another alternative for building Windows apps. |
| | 76 | There are several issues: |
| | 77 | |
| | 78 | * If you build the API library directly, it will use use shared memory |
| | 79 | to communicate with the BOINC client. |
| | 80 | This won't work if you use the standard Windows client, |
| | 81 | which uses memory-mapped files rather than shared memory. |
| | 82 | * In order to run a cygwin application from BOINC, |
| | 83 | you need to supply all the cygwin DLLs that the application requires |
| | 84 | in addition to the executable. |
| | 85 | You can get LISTDLLS from http://www.sysinternals.com/. |
| | 86 | It will tell you what DLLs a running executable has loaded. |
| | 87 | * Cygwin is GPL software. |
| | 88 | If you link to the cygwin DLL, |
| | 89 | then either your application has to be GPL as well, |
| | 90 | or you will have to buy a commercial license from Red Hat. |
| | 91 | |
| | 92 | However, it can be done. |