Message boards : API : Compiling the example_app on Windows
Message board moderation
Author | Message |
---|---|
Send message Joined: 14 Mar 13 Posts: 13 |
Hi, The example_app uses "upper_case.cpp" as its foundation and I'm able to compile these .cpp files to their executables. (using the make-command) I want to modify my application (upper_case) to a new one and thus update the files found in /boinc-trunk/samples/example_app/bin to their newer versions. The mac and linux are of no importance to me, only the Windowsx64 application is (/22489/windows_x86_64.exe) According to this webpage: http://boinc.berkeley.edu/trac/wiki/CompileApp the /boinc-trunk/win_build/boinc_samples.sln should be able to recompile the "upper_case.exe"-file to the "/22489/windows_x86_64.exe"-file and thus update the application. Am I seeing this correctly untill now? Or is there another option that is much more straight-forward and easy? The problem is that I have no idea how to run this .sln-file in my debian6 VM? Thnx in advance, Resk |
Send message Joined: 29 Aug 05 Posts: 15549 |
You can't. The sln (or solution) file is for Visual Studio. There is however a converter, I see: http://code.google.com/p/make-it-so/ But checking the source code, I see that the example apps come pre-built these days. Just make sure you download boincv2, it'll then be in samples/example_app/bin/22489 Can also be checked with the browser link: http://boinc.berkeley.edu/trac/browser/boinc-v2/samples/example_app/bin/22489 |
Send message Joined: 14 Mar 13 Posts: 13 |
These sample apps come indeed preinstalled inside the debian6 VM. Let me try to ask my question in another way: (sorry about this) I have an application (.exe) in one of my directories and want to create a working downloadable application for it that can run on a windowsx64 client. After some searching, might have found a way how to do this? http://boinc.berkeley.edu/trac/wiki/WrapperApp I have no idea though, how to get the this wrapper inside my VM (ftp command doesn't work in debian :( ) I'll keep you updated on my progress.... PS: the app I want to wrap is a modified version of the "upper_case.cpp"-file hence the confusion. |
Send message Joined: 29 Aug 05 Posts: 15549 |
I have no idea though, how to get the this wrapper inside my VM (ftp command doesn't work in debian :( ) It's not on an FTP server anyway. You need Git, which most Linux distros have installed by default. And then you can just download the whole source code, so you're up-to-date and have everything available to you. |
Send message Joined: 4 Jul 12 Posts: 321 |
In order to build your own windows executables you either need Visual Studio or mingw to cross compile. If you already have an .exe file and want to use the wrapper feature you can use the SSH service in the debian6 VM to insert your files. Just use an FTP-Tool like Filezilla and connect using the SFTP Protocol. Username and Passwort is the same as you login with. Information is available on the page you linked to in your post. |
Send message Joined: 14 Mar 13 Posts: 13 |
In order to build your own windows executables you either need Visual Studio or mingw to cross compile. Seems I'm misinterpreting the usage of the wrapper. After some reading I think the wrapper is just a way of making application that were never ment to be run in BOINC, work in BOINC. Which is not something I want/Am looking for. Plan of action: - rewrite the modified version of upper_case.cpp in my W7 OS - Compile this modified version in my W7 OS (using visual basic) - Put this compiled .exe in a FileZilla server in my W7 OS - Connect to the server in my debian6 VM using sftp and get the .exe file - Place .exe-file in the correct directory - Working product? @Ageless: I'm not quite sure what reinstalling/redownloading the entire BOINC source would change since I already have it installed on my debian6 VM? And browsing through http://boinc.berkeley.edu/trac/browser/boinc-v2?order=name does not show any major changes compared to the BOINC server I have installed now. |
Send message Joined: 14 Mar 13 Posts: 13 |
@Ageless: I think I see what you ment now as this wiki entry: http://boinc.berkeley.edu/trac/wiki/CompileApp describes the usage of this .git utility. Seems I need to download the boinc source on my W7 x64 to succesfully open the .sln and compile the modified version of upper_case.cpp. I will try to do this and succesfully follow the entries described in the link above. Updated plan of action: - download the boinc source using git on my W7 OS - rewrite the modified version of upper_case.cpp in my W7 OS - Compile this modified version in my W7 OS (using visual basic) on the boinc_samples.sln file - Put this compiled .exe in a FileZilla server in my W7 OS - Connect to the server in my debian6 VM using sftp and get the .exe file - Place .exe-file in the correct directory - Working product? (I hope this is the correct way of proceeding?) Sorry for my confusing questions and thnx for answering to a noob like me. |
Send message Joined: 29 Aug 05 Posts: 15549 |
@Ageless: I'm not quite sure what reinstalling/redownloading the entire BOINC source would change since I already have it installed on my debian6 VM? And browsing through http://boinc.berkeley.edu/trac/browser/boinc-v2?order=name does not show any major changes compared to the BOINC server I have installed now. I think I read your intention wrong. It was late, I read ftp and thought you tried to use an FTP client to get the example apps from the web site. All I did was point out they were in the source code. Sorry for the confusion. |
Send message Joined: 4 Jul 12 Posts: 321 |
Seems I need to download the boinc source on my W7 x64 to succesfully open the .sln and compile the modified version of upper_case.cpp. Please be aware that this "git thing" is a source control system that will overwrite your changes to upper_case.cpp next time you update the source code. A better way is to copy the file and make the changes there. Maybe you can copy the Windows examples and modify them within Visual Studio for C++ (not Visual Basic!) I will try to do this and succesfully follow the entries described in the link above. No it's not. - download the boinc source using git on Win7 - copy the Windows example files (including boinc_samples.sln) - Compile this modified version in Win7 (using visual Studio!) - Connect to the server in my debian6 VM using FileZilla Client (sftp) and put the .exe file in the correct directory - run the appropriate commands inside the debian6 VM to update the applications And of course my usual questions: - What's your programming / Linux experience? - What kind of application do you want to run? - What documentation did you read before posting? - Any suggestions for improving the documentation? Regards Christian |
Send message Joined: 14 Mar 13 Posts: 13 |
Not really sure what is different in your to-do checklist beyond the visual basic error I made. I have suceeded in compiling the 32-bit version of the example application, but 64-bit stays bugging out. (Probably because Visual Studio 2005 has some problems with the 64-bit architecture?) On a related note: Is the 32-bit version of the example application called windows_intelx86? And the 64-bit version windows_x86_64? (Seems logical to me) Thanks for your precious time & I'll keep you updated, Resk |
Send message Joined: 4 Jul 12 Posts: 321 |
- Connect to the server in my debian6 VM using FileZilla Client (sftp) and put the .exe file in the correct directory (filezilla server has been configured and is ready to be contacted) What I meant is: You don't need a FileZilla Server on your Win7 Host. You just need an FTP-Client that can SFTP into the debian6 VM. There is already an OpenSSH Server running that will accept the SFTP requests. This way you push your files into the VM, as you try to pull the files into the VM. With my approach you don't need to enter commands inside the VM. - run the appropriate commands inside the debian6 VM to update the applications (I think the commands that you are referring to are 'bin/xadd' and 'bin/update_versions' if I'm correct) Yes, that's correct. Assuming that you created the correct directories and placed the correct files inside the PROJECT_ROOT/apps directory. Please see the manuals for xadd and update_versions. As a linux beginner I would suggest to read some basic command references like this one. - Any suggestions for improving the documentation? That is true for all the technical documentation about software, can you be more specific? I have suceeded in compiling the 32-bit version of the example application, but 64-bit stays bugging out. (Probably because Visual Studio 2005 has some problems with the 64-bit architecture?) Maybe this msdn article can help you? On a related note: Is the 32-bit version of the example application called windows_intelx86? And the 64-bit version windows_x86_64? (Seems logical to me) Yes, that is correct. See BoincPlatforms. |
Send message Joined: 14 Mar 13 Posts: 13 |
worked perfectly :D
There's a red line missing, the wiki is a bunch of documents that has no overarching story. This makes it dificult to find the correct files. |
Send message Joined: 4 Jul 12 Posts: 321 |
We have two pages that contain all the other pages in small groups in order to create such an arch: For people creating projects/developing apps: ProjectMain For people participating in the development of BOINC itself: SoftwareDevelopment The first page should be the starting point from which to start. Building a story is a little bit difficult because there are a lot of different use cases. I also thought it would be good to have a chapter-like manual with links to previous and next pages but that's hard to maintain. |
Send message Joined: 14 Mar 13 Posts: 13 |
Everything is perfectly working now :D
Indeed, you have only that much resources to work with as a freesource project. The pages you linked to are more of the genre index lists and without having any prior information about the different BOINC terms it's difficult to find anything back in there without reading a large chunk to find what you are looking for. |
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.