When c++ source code needs to be compiled and objects need to be made executable this application accomplished the desired goal.
To initiate the process a select directory dialog appears which allows the programmer to point to the location of the c++ source code.
The “obj” and “bin” subdirectories are created and populated with the objects and executable for a “Debug” and “Release” executable.
The application locates every c++ source code in the selected directory then compiles and creates the executable.
This utility is useful for c++ source code downloaded from the internet.
For a demonstration we will process a project in the “Tes02″ subdirectory.
[codesyntax lang=”bash”]
total 52 drwxrwxr-x 3 archman archman 4096 Jan 20 08:15 . drwxrwxr-x 74 archman archman 4096 Jan 18 16:56 .. -rw-rw-r-- 1 archman archman 0 Jan 20 08:15 dir.txt -rw-rw-r-- 1 archman archman 465 Jan 7 08:25 link.sh -rw-rw-r-- 1 archman archman 702 Jan 7 08:25 Tes02App.cpp -rw-rw-r-- 1 archman archman 494 Jan 7 08:25 Tes02App.h -rw-rw-r-- 1 archman archman 2144 Jan 7 08:26 Tes02.cbp -rw-rw-r-- 1 archman archman 741 Jan 7 08:28 Tes02.layout -rw-rw-r-- 1 archman archman 8852 Jan 7 08:25 Tes02Main.cpp -rw-rw-r-- 1 archman archman 2139 Jan 7 08:25 Tes02Main.h -rw-rw-r-- 1 archman archman 1879 Jan 7 08:25 Tes02.pbk drwxrwxr-x 2 archman archman 4096 Jan 7 08:26 wxsmith
[/codesyntax]
Now we invoke our application.
The following files are now added to our project.
[codesyntax lang=”bash”]
total 60 drwxrwxr-x 5 archman archman 4096 Jan 20 08:20 . drwxrwxr-x 74 archman archman 4096 Jan 18 16:56 .. drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 bin -rw-rw-r-- 1 archman archman 0 Jan 20 08:20 dir.txt -rw-rw-r-- 1 archman archman 465 Jan 7 08:25 link.sh drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 obj -rw-rw-r-- 1 archman archman 702 Jan 7 08:25 Tes02App.cpp -rw-rw-r-- 1 archman archman 494 Jan 7 08:25 Tes02App.h -rw-rw-r-- 1 archman archman 2144 Jan 7 08:26 Tes02.cbp -rw-rw-r-- 1 archman archman 741 Jan 7 08:28 Tes02.layout -rw-rw-r-- 1 archman archman 8852 Jan 7 08:25 Tes02Main.cpp -rw-rw-r-- 1 archman archman 2139 Jan 7 08:25 Tes02Main.h -rw-rw-r-- 1 archman archman 1879 Jan 7 08:25 Tes02.pbk drwxrwxr-x 2 archman archman 4096 Jan 7 08:26 wxsmith
[/codesyntax]
Now we will revied the contents of the newly created sub directories.
[codesyntax lang=”bash”]
total 60 drwxrwxr-x 5 archman archman 4096 Jan 20 08:24 . drwxrwxr-x 74 archman archman 4096 Jan 18 16:56 .. drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 bin -rw-rw-r-- 1 archman archman 0 Jan 20 08:24 dir.txt -rw-rw-r-- 1 archman archman 465 Jan 7 08:25 link.sh drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 obj -rw-rw-r-- 1 archman archman 702 Jan 7 08:25 Tes02App.cpp -rw-rw-r-- 1 archman archman 494 Jan 7 08:25 Tes02App.h -rw-rw-r-- 1 archman archman 2144 Jan 7 08:26 Tes02.cbp -rw-rw-r-- 1 archman archman 741 Jan 7 08:28 Tes02.layout -rw-rw-r-- 1 archman archman 8852 Jan 7 08:25 Tes02Main.cpp -rw-rw-r-- 1 archman archman 2139 Jan 7 08:25 Tes02Main.h -rw-rw-r-- 1 archman archman 1879 Jan 7 08:25 Tes02.pbk drwxrwxr-x 2 archman archman 4096 Jan 7 08:26 wxsmith ./bin: total 16 drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 . drwxrwxr-x 5 archman archman 4096 Jan 20 08:24 .. drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 Debug drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 Release ./bin/Debug: total 1356 drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 . drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 .. -rwxrwxr-x 1 archman archman 1377576 Jan 20 08:20 Tes02Main ./bin/Release: total 240 drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 . drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 .. -rwxrwxr-x 1 archman archman 234120 Jan 20 08:20 Tes02Main ./obj: total 16 drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 . drwxrwxr-x 5 archman archman 4096 Jan 20 08:24 .. drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 Debug drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 Release ./obj/Debug: total 2568 drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 . drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 .. -rw-rw-r-- 1 archman archman 594456 Jan 20 08:19 Tes02App.o -rw-rw-r-- 1 archman archman 2023272 Jan 20 08:20 Tes02Main.o ./obj/Release: total 292 drwxrwxr-x 2 archman archman 4096 Jan 20 08:20 . drwxrwxr-x 4 archman archman 4096 Jan 20 08:19 .. -rw-rw-r-- 1 archman archman 27000 Jan 20 08:19 Tes02App.o -rw-rw-r-- 1 archman archman 259352 Jan 20 08:20 Tes02Main.o ./wxsmith: total 16 drwxrwxr-x 2 archman archman 4096 Jan 7 08:26 . drwxrwxr-x 5 archman archman 4096 Jan 20 08:24 .. -rw-rw-r-- 1 archman archman 1621 Jan 7 08:26 dlgLinkInfo.wxs -rw-rw-r-- 1 archman archman 2021 Jan 7 08:25 Tes02frame.wxs
[/codesyntax]
The programmer may now execute or debug the associated source code.
Consequently a Code Blocks project may be produced by encapsulating the source code in the selected directory.
Mr. Arch Brooks, Software Engineer, Brooks Computing Systems, LLC authored this article.