How to open DEV C++ IDE source code as a project? - c++

The source code of the IDE is uploaded by at this site but i do not know how to use.
I came from programming in using IDE like netbeans and visual studio where you can just open the project(the code), edit, then COMPILE. I want to do the same for the source code of the IDE DEV C++, how do i do this?

Here's what I did:
After downloading and extracting the latest source, I looked into the Source folder
I noticed the *.pas file extension, since I did work with Delphi before I new it was either Turbo Pascal or Delphi (if you don't know the extensions, there are many great search engines who can tell you what kind of file you are looking at)
I opened the README.txt inside the Source folder, which tells me to compile Source\VLC\DevCpp.dpk. Again, I have worked with Delphi in the past, so I knew this is a project file (the extension means Delphi Package Project). *.dof is an older extension (Delphi 7 and older, the extension means Delphi Project Options File).
So, in short: Look at the file extensions and see if you can locate a README (or a similar named file) anywhere in the downloaded files. This should help you to figure out with what you are dealing and how you can open the project.

Related

Eclipse C++: having trouble with including a file with extension ji

maybe the title is not the most helpful but wasn't sure how to put it with a few words.
So this is my problem.
I have some C++ projects in Eclipse and I want to use for a part of my project some Julia code.
I have downloaded and installed properly the latest version of Julia on my machine and what I want to do is embed Julia inside my C++ project in Eclipse, so that I will be able to write directly some julia code inside the C++ project.
Such an option is possible and there is this guidance on how to do it.
I do properly in eclipse both the path to include julia.h and the julia library, and I can actually build the project, but when I try to run I receive the following error:
"System image file "/home/kostav/workspace/juli/Debug/../lib/x86_64-linux-gnu/julia/sys.ji" not found
"
Now this file does exist and its path is included in Eclipse, so I really don't understand why I do receive this error and what should I do in order to fix it.
Any suggestion would be really helpful to me.
jl_init_with_image
jl_init_with_image("pathtosysji", "sys.ji");
The path must be the abs path.
ie: /home/kostav/workspace/juli/Debug/../lib/x86_64-linux-gnu/julia/sys.ji

Redeveloping MFC application

I've got a program written in c++ and have to make some modifications to it. Howerver, I haven't got any solution file or a like, just a bunch of .h, .cpp, .obj, .dpb, .dll, .mdi, .dfm, .res, .tds, .bpl files and an .exe file.
So I can start an application, see what it's doing and what the controls are, but when it comes to adding changes trying do to map behaviour of UI to source code files seems just to tedious.
Is it possible to recreate some kind of solution file or just to simply the process? (I am using VS 2012 and an app was written in 2002).
These file extensions indicate the source is from a Borland IDE. That .mdi file I think signifies Borland's multiple-document-interface... I'll venture to guess this project would be quite difficult to "recompile" using Visual Studio. I don't even see a .rc (resource file) in your list. Rewriting may be the easiest path, depending on the complexity of the application...

How to write C++ code that works between IDE?

I am new to C++ from a C#.NET and Visual Studio background (and some Objective-C / XCode).
I want to write cross-platform (Windows, OS X, Linux) application with C++. I started with TextMate on my Mac and Notepad on my Windows, and compile the code using g++ on command line/terminal to build the executables on its platform.
I got confused when I started using IDE (namely VC++, XCode, and Eclipse). I tried all three and created projects before pasting my code in it. If I start editing in one IDE, I do not know how to get the eventual piece of code to compile on different platform.
For example, if I have a class file - foo.cpp. In Eclipse, it would generate foo.cpp (within it a foo.h, foo::foo()) and a separate foo.h header file (within it a FOO_H_ file etc). In Xcode, it generates a folder Foo constains main.cpp and foo.l) - that's it. Why the difference?
I though C++ code is just C++ code which produce platform specific executables if compiled on that platform. (e.g. compile on Mac, it becomes a Mac executables; if compiled on Windows, it becomes a Windows executables).
It seems, once I started using IDE, my C++ code automatically become unportable, due to all these auto generated files that I have no understanding about. I try reading documentation on XCode, Eclipse, and Visual Studio at the same time, and it confuses me even further. I just want to write C++...
I am also following Stroustrup's classic text to pick up C++ and in the book, nothing like header or source of .h or _H_ files were mentioned, as of why all these files were generated.
Besides using Notepad/Textmate + G++ compiler, how can I write pure, portable C++ program in an IDE that can be cross-platform, or is it even possible?
The default (=most commonly used) file structure for a c++ class called Foo consists of a header file called foo.h which will contain the class definition of Foo, and a foo.cpp which contains the definition of the methods of Foo.
Often all the header files are put into a seperate folder called include.
So the general approach to have the same file/folder structure, which can be used for more than one IDE is:
create the folder structure manually (e.g. include, src and make folders inside your project folder MyProject, the project files for IDEs would go into make, .h files into include, and .cpp files into src)
create the .h and .cpp files for your classes manually using the explorer/finder/...
use "add existing file" or something equivalent to add those files to the project file of your IDE.
as Rup pointed out, for Visual Studio, one should use the "empty project" preset, or it will add some header files you dont want
Why not use 1 IDE for all? Eclipse is cross platform IDE
Use CMake or other meta-buildsystem
Use Boost and Qt to abstract away as much of the platform as possble.
CMake lets you generate project files for most IDE:s that mean when switching between platforms and IDE:s you just tell CMake to generate new project-files for that IDE you use on that platform.
Easiest to get platform-idependent code on windows, linux and mac is to use QtCreator as IDE, it also has a lot of good tutorials. http://qt.nokia.com/downloads

Can eclipse do auto-complete using external libraries like cocos2d?

I'm using Eclipse in linux. I have created a project using Cocos2D. It's a Java project, but im opening cpp and headers files to write native code.
Each time, i compile the native code with ./build_native.sh
I will like to know if eclipse could be configure to autocomplete functions in native code.
Example:
CCDirector::sharedDirector()->
Must show the options like getWinSize().
Some ideas? Thanks in advance.
I can't answer to the specifics of your question but in general I had this problem in C/C++ with iostream and STL libs. Even though everything would compile fine it wasn't supporting auto-complete. I ended up digging down into the supplied libraries to the root that held each .h file collection and added those to the directories path. Then I rebuilt the index and then auto-complete started working. So if cocos2d stores .h files in more than one location add each folder.
Have you installed the CDT? That give Eclipse C/C++ capabilities similar to what it already has for Java.

C++ shift from Unix to Visual Studio in Windows

I am a professional working for a software firm.In my past company basically i was working on C & C++ on unix.Now i suddenly shifted to C++ on Windows and i feel like i am in a completely different world.Basically i am working on a very big application which was totally written in C++.To keep it simple ,i dont have the source code .I have the exe of the application and several other dependent files.it is a GUI application(several windows,reports,graphs and huge mathematical calculations are done by this application).Now i finally have the source code of the application which includes some headers,some vcproj files,some dsw files and several other which i dont even understand why the hell are they present.
Now as i C++ programmer my responsibility is to make all the BUGS that the clients identify replicate and fix them.
If its a bug on unix i can simply use the binary and source code and run gdb/dbx and find out the issue in some or other way like adding adding some printf statements.
But given the files i mentioned above.how could istart debugging an application in VC++ in VISUAL STUDIO.
Is it very difficult for a C++ programmer to shift from Unix to Windows.
Is ther any good resource which i could refer for this kind of change where i could grasp things quickly?
given the exe and the source code of the application how can i start debugging a program by running the application in VS C++-(BTW i am using VS 2005)
The main difference is that on Unix, you'll have Makefiles, which you won't find on Windows. Visual Studio organizes your code in projects and solutions, and those project files contain all the information VS needs to compile&link your projects.
If you have a *.sln file, just double click it to open it in VS. Then build the source (usually by pressing F6) and run in debug mode (usually F5).
More details:
A project is a collection of source files that result in 'something', usually a LIB, a DLL or an EXE.
A solution is a collection of projects. Useful when e.g. one project creates a LIB that is used by another project. When you set dependencies between projects, VS will build the projects in the right order.
Extensions used:
*.vcproj : Project file for C/C++ sources
*.vcproj..user : contains which windows are open in the GUI.
Can safely be deleted.
*.sln : Solution file
*.ncb : Intellisense database for a solution. Can safely be deleted.
*.suo : contains which windows are open in the GUI. Can safely be deleted.
*.dsw : Visual Studio 6.0 related file - not used in VS2005. (Replaced by *.sln IIRC)
./Debug/* : folder with all
intermediate files for a Debug build
(can be changed)
./Release/* : folder with all
intermediate files for a Release
build (can be changed)
That's all I can think of at the moment.
If you only have a .DSW file and not a .SLN file, then it means that the project was probably last worked on with VC6 and not one of the later Visual Studio versions.
That's a shame, because there have been lots of changes to the C++ compiler since VC6, and you're probably going to find the project doesn't compile with VS2005 without needing some minor changes to source code.
Do you have a .SLN file - if so, what's the version number at the top of the file (it's a text file)? If you don't have a .SLN file, can you get hold of VC6?
I would always try to get stuff going on an unfamiliar platform with the best matching tools, before I tried to bring it forward to later versions.
I understand your pain; I took the same path a few months ago.
You probably figured it out, but Visual Studio is not the exact alternative of gcc/g++. It embeds a text editor, a debugger, and so on.
Usually, you have two compilation "modes", debug and release. (you can add your own)
When in debug mode, all optimization are disabled and you can execute your program in the debugger, use step by step, add breakpoints, ...
Just start it using the F5 key.
More notes on the additional files:
In the Visual Studio world, .vcproj files represents "projects": a bunch of file that belongs to the same project (source files, headers, resources, ...).
A .dsw (old name for current .sln files I believe) is a "solution" file: a group of one or several projects which can have internal dependencies. Example: you can have in the same solution, a library and a software that depends on it. So that when you compile the whole solution, things are built in the correct order.
First thing you should try is to attach to the process while it's running (Ctr-Alt-P and select the process) if you have the .pdb (debug information) files you should be able to debug the process without re-building it.
If that fails try to un-check the "Require source files to exactly match the original version" option in Tools -> Options -> Debugging.
If that too fails you'll have to build the application again (by opening the .sln file and performing a build) so that the binary matches your source files.
Good luck.
Compile the code with debug info and press f5 (Start Debugging). I don't see where is the problem. On linux is sort of the same.
VS2005 can convert the dsw file for you to a sln file, but you need all of the original VC6 files in order for the conversion to be successful. For debugging please check out following msdn link, I hope this will help you.
http://msdn.microsoft.com/en-us/library/sc65sadd.aspx
Please select hyperlink "Debugging Native Code" for C++ specific.