Recognizing Compiler
-
- CodeLite Enthusiast
- Posts: 13
- Joined: Thu Dec 12, 2013 9:25 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Recognizing Compiler
I am a newbie to this, but I have not found much on the web to understand my problem.
I hope this is not an RTFM.
I installed the Digital Mars C/C++ compiler on my Windows 7 64 bit Home Premium laptop. I also previously installed Codelight.
As I was working through one of these "Teach Yourself C++" books, I essentially copied a piece of code from the book and tried
to compile it.
I made the requisite edits as was mentioned on the Forum help. I saw that the Mars compiler was not in the list of Build options.
So I made a new entry for it. As it asked for the assembler name, I left it blank as there was no "as" or similar executable in the bin directory.
I made sure I added a path so CL could find its way to the necessary executables. I did not specify any compiler flags (separate window).
In essence a vanilla C++ compiler.
The Build menu still had the compile option greyed out. Thinking CL updates only upon rebooting, I quit the program and restarted. Still
no ability to compile a program, though all my settings for the Mars compiler were there. I tried to directly compile the program in a command window.
Since the compiler did not locate the io library, there were a lot of errors in the program. Not surprising, but it at least showed me that the compiler
was working.
So the question is, how do I get the program to recognize and USE the Digital Mars compiler within CL?
Thanks for any help you can send my way.
I hope this is not an RTFM.
I installed the Digital Mars C/C++ compiler on my Windows 7 64 bit Home Premium laptop. I also previously installed Codelight.
As I was working through one of these "Teach Yourself C++" books, I essentially copied a piece of code from the book and tried
to compile it.
I made the requisite edits as was mentioned on the Forum help. I saw that the Mars compiler was not in the list of Build options.
So I made a new entry for it. As it asked for the assembler name, I left it blank as there was no "as" or similar executable in the bin directory.
I made sure I added a path so CL could find its way to the necessary executables. I did not specify any compiler flags (separate window).
In essence a vanilla C++ compiler.
The Build menu still had the compile option greyed out. Thinking CL updates only upon rebooting, I quit the program and restarted. Still
no ability to compile a program, though all my settings for the Mars compiler were there. I tried to directly compile the program in a command window.
Since the compiler did not locate the io library, there were a lot of errors in the program. Not surprising, but it at least showed me that the compiler
was working.
So the question is, how do I get the program to recognize and USE the Digital Mars compiler within CL?
Thanks for any help you can send my way.
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
You need to create a project.
When you first start codelite, you have a "Welcome" page, there is a big button on it with the title "New - Start a New Project" click it.
Select a "Console -> Simple executable (g++)"
Fill in the blanks (project name + location) click OK
Next, right click on the project icon and select "Settings"
In the "General" page, change the compiler to use your newly defined compiler
Then the build menu will not be disabled
http://codelite.org/LiteEditor/HelloWorld
Note: I encourage you to use g++ or clang if you are not bind to use Digital Mars compiler
Eran
When you first start codelite, you have a "Welcome" page, there is a big button on it with the title "New - Start a New Project" click it.
Select a "Console -> Simple executable (g++)"
Fill in the blanks (project name + location) click OK
Next, right click on the project icon and select "Settings"
In the "General" page, change the compiler to use your newly defined compiler
Then the build menu will not be disabled
http://codelite.org/LiteEditor/HelloWorld
Note: I encourage you to use g++ or clang if you are not bind to use Digital Mars compiler
Eran
Make sure you have read the HOW TO POST thread
-
- CodeLite Enthusiast
- Posts: 13
- Joined: Thu Dec 12, 2013 9:25 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
I hate being so clueless.
I went and tried to run the HelloWorld program in the tutorial section.
I used the simple g++ as mentioned.
However, when I go to build the program I get the error:
"No rule to make target 'Debug\main.o', needed by Debug\HelloWorld2"
I opened the Makefile in notepad:
.PHONY: clean All
All:
@echo "----------Building project:[ HelloWorld2 - Debug ]----------"
@$(MAKE) -f "HelloWorld2.mk"
clean:
@echo "----------Cleaning project:[ HelloWorld2 - Debug ]----------"
@$(MAKE) -f "HelloWorld2.mk" clean
I do not see a HelloWorld2.mk file in the project directory. The Debug directory is empty.
I'm not sure why I cannot follow simple directions. But obviously I am doing something wrong.
I went and tried to run the HelloWorld program in the tutorial section.
I used the simple g++ as mentioned.
However, when I go to build the program I get the error:
"No rule to make target 'Debug\main.o', needed by Debug\HelloWorld2"
I opened the Makefile in notepad:
.PHONY: clean All
All:
@echo "----------Building project:[ HelloWorld2 - Debug ]----------"
@$(MAKE) -f "HelloWorld2.mk"
clean:
@echo "----------Cleaning project:[ HelloWorld2 - Debug ]----------"
@$(MAKE) -f "HelloWorld2.mk" clean
I do not see a HelloWorld2.mk file in the project directory. The Debug directory is empty.
I'm not sure why I cannot follow simple directions. But obviously I am doing something wrong.
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
Make sure you have read the HOW TO POST thread
-
- CodeLite Enthusiast
- Posts: 13
- Joined: Thu Dec 12, 2013 9:25 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
I am using COdeLite v 5.3
It is running on Windows 7 so it is a pre-compiled version
I am using g++ which comes with CodeLite
I cannot build Hello World. Below are the full contents of the Builder Window:
C:\Windows\system32\cmd.exe /c "mingw32-make.exe -j 2 -e -f Makefile"
"----------Building project:[ HelloWorld2 - Debug ]----------"
mingw32-make.exe[1]: Entering directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
mingw32-make.exe[1]: *** No rule to make target `Debug/main.o', needed by `Debug/HelloWorld2'. Stop.
mingw32-make.exe[1]: *** Waiting for unfinished jobs....
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
Makefile:4: recipe for target `All' failed
0 errors, 0 warnings
It is running on Windows 7 so it is a pre-compiled version
I am using g++ which comes with CodeLite
I cannot build Hello World. Below are the full contents of the Builder Window:
C:\Windows\system32\cmd.exe /c "mingw32-make.exe -j 2 -e -f Makefile"
"----------Building project:[ HelloWorld2 - Debug ]----------"
mingw32-make.exe[1]: Entering directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
mingw32-make.exe[1]: *** No rule to make target `Debug/main.o', needed by `Debug/HelloWorld2'. Stop.
mingw32-make.exe[1]: *** Waiting for unfinished jobs....
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
Makefile:4: recipe for target `All' failed
0 errors, 0 warnings
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
Do you have another installation of MinGW (or MSYS)?
Eran
Eran
Make sure you have read the HOW TO POST thread
-
- CodeLite Enthusiast
- Posts: 13
- Joined: Thu Dec 12, 2013 9:25 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
I have Cygwin installed which has MinGW v 4.7.1 and gnuplot has a version of MinGW as well.
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
This is probably the culprit of the error: there is a conflict with the versions installed on your machine
Try setting this environment variable within codelite (settings -> environment variables) and see if it helps:
Eran
Try setting this environment variable within codelite (settings -> environment variables) and see if it helps:
Code: Select all
SHELL=CMD.EXE
Make sure you have read the HOW TO POST thread
-
- CodeLite Enthusiast
- Posts: 13
- Joined: Thu Dec 12, 2013 9:25 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
Now I receive a new error message:
C:\Windows\system32\cmd.exe /c "mingw32-make.exe -j 2 -e -f Makefile"
"----------Building project:[ HelloWorld2 - Debug ]----------"
HelloWorld2.mk:66: *** multiple target patterns. Stop.
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Entering directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
mingw32-make.exe[1]: Leaving directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
Makefile:4: recipe for target `All' failed
0 errors, 0 warnings
C:\Windows\system32\cmd.exe /c "mingw32-make.exe -j 2 -e -f Makefile"
"----------Building project:[ HelloWorld2 - Debug ]----------"
HelloWorld2.mk:66: *** multiple target patterns. Stop.
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Entering directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
mingw32-make.exe[1]: Leaving directory `C:/Users/Mark/CPP_Project1/HelloWorld2'
Makefile:4: recipe for target `All' failed
0 errors, 0 warnings
-
- CodeLite Expert
- Posts: 167
- Joined: Fri Jul 22, 2011 5:32 am
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: Recognizing Compiler
Just an aside, I had to useeranif wrote:This is probably the culprit of the error: there is a conflict with the versions installed on your machine
Try setting this environment variable within codelite (settings -> environment variables) and see if it helps:
EranCode: Select all
SHELL=CMD.EXE
mingw32-make SHELL=CMD.EXE -j 4
Far as I can tell mingw32-make.exe first looks for 'sh' in the path, it it finds it, it _ignores_ the environment variable and calls sh.exe instead of CMD.EXE If you add SHELL=CMD.exe to the command line, then it respects it.