makefile problem
-
- CodeLite Curious
- Posts: 5
- Joined: Tue Feb 28, 2012 3:18 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
makefile problem
I'm using (try to use) v3.5.5377 on Windows 7 HUN.
Codelite is installed to c:\codelite, mingw installed c:\codelite\mingw-4.6.1. Path is containing c:\codelite;c:\codelite\mingw-4.6.1\bin. (makedir is working).
When I try to compile my project, I got:
----------Building project:[ test1 - Debug ]----------
mingw32-make.exe[1]: Entering directory `D:/Dokumentumok/codelite/hworld/test1'
gcc -o ./Debug/test1 @"D:\Dokumentumok\codelite\hworld\test1\test1.txt" -L.
gcc: error: ECHO: No such file or directory
gcc: error: kikapcsolva: No such file or directory
gcc: fatal error: no input files
compilation terminated.
mingw32-make.exe[1]: *** [Debug/test1] Error 1
ECHO kikapcsolva means: echo turned off.
When I compiling this simple project on windows xp sp3 everything working fine.
The problem is here:
...
ObjectsFileList :="D:\Dokumentumok\codelite\hworld\test1\test1.txt"
...
Objects=$(IntermediateDirectory)/hworldApp$(ObjectSuffix) $(IntermediateDirectory)/hworldMain$(ObjectSuffix)
...
$(OutputFile): $(IntermediateDirectory)/.d $(Objects)
@$(MakeDirCommand) $(@D)
@echo "" > $(IntermediateDirectory)/.d <== it is running fine, Debug/.d is containing ""
@echo $(Objects) > $(ObjectsFileList) <== it is generating test1.txt, with wrong content
$(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions)
test1.txt content: ECHO kikapcsolva
echo $(Objects) printing: Objects=./Debug/hworldApp.o ./Debug/hworldMain.o
echo $(Objects) > test1.txt generating the same wrong txt.
Where is the problem? MS changed the echo command?
Codelite is installed to c:\codelite, mingw installed c:\codelite\mingw-4.6.1. Path is containing c:\codelite;c:\codelite\mingw-4.6.1\bin. (makedir is working).
When I try to compile my project, I got:
----------Building project:[ test1 - Debug ]----------
mingw32-make.exe[1]: Entering directory `D:/Dokumentumok/codelite/hworld/test1'
gcc -o ./Debug/test1 @"D:\Dokumentumok\codelite\hworld\test1\test1.txt" -L.
gcc: error: ECHO: No such file or directory
gcc: error: kikapcsolva: No such file or directory
gcc: fatal error: no input files
compilation terminated.
mingw32-make.exe[1]: *** [Debug/test1] Error 1
ECHO kikapcsolva means: echo turned off.
When I compiling this simple project on windows xp sp3 everything working fine.
The problem is here:
...
ObjectsFileList :="D:\Dokumentumok\codelite\hworld\test1\test1.txt"
...
Objects=$(IntermediateDirectory)/hworldApp$(ObjectSuffix) $(IntermediateDirectory)/hworldMain$(ObjectSuffix)
...
$(OutputFile): $(IntermediateDirectory)/.d $(Objects)
@$(MakeDirCommand) $(@D)
@echo "" > $(IntermediateDirectory)/.d <== it is running fine, Debug/.d is containing ""
@echo $(Objects) > $(ObjectsFileList) <== it is generating test1.txt, with wrong content
$(LinkerName) $(OutputSwitch)$(OutputFile) @$(ObjectsFileList) $(LibPath) $(Libs) $(LinkOptions)
test1.txt content: ECHO kikapcsolva
echo $(Objects) printing: Objects=./Debug/hworldApp.o ./Debug/hworldMain.o
echo $(Objects) > test1.txt generating the same wrong txt.
Where is the problem? MS changed the echo command?
-
- CodeLite Expert
- Posts: 176
- Joined: Sun Aug 17, 2008 2:45 pm
- Contact:
Re: makefile problem
Hi Denzelii,
as a workaround you can switch 'Pass object list to the linker via file' off in 'Build settings/Compilers/gnu gcc/Advanced' and see if it builds. Same for g++
Regards
Frank
as a workaround you can switch 'Pass object list to the linker via file' off in 'Build settings/Compilers/gnu gcc/Advanced' and see if it builds. Same for g++
Regards
Frank
-
- CodeLite Curious
- Posts: 5
- Joined: Tue Feb 28, 2012 3:18 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: makefile problem
Thanks, but it is not working.
It was already checked. I tried both checked and unchecked state, and build was failed.
The error if unchecked:
----------Building project:[ test1 - Debug ]----------
mingw32-make.exe[1]: Entering directory `D:/Dokumentumok/codelite/hworld/test1'
gcc -o ./Debug/test1 -L.
gcc: fatal error: no input files
compilation terminated.
mingw32-make.exe[1]: *** [Debug/test1] Error 1
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory `D:/Dokumentumok/codelite/hworld/test1'
The test1.txt is containing "ECHO kikapcsolva".
It was already checked. I tried both checked and unchecked state, and build was failed.
The error if unchecked:
----------Building project:[ test1 - Debug ]----------
mingw32-make.exe[1]: Entering directory `D:/Dokumentumok/codelite/hworld/test1'
gcc -o ./Debug/test1 -L.
gcc: fatal error: no input files
compilation terminated.
mingw32-make.exe[1]: *** [Debug/test1] Error 1
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory `D:/Dokumentumok/codelite/hworld/test1'
The test1.txt is containing "ECHO kikapcsolva".
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: makefile problem
The fact that you mentioned that, makes me wonder if you modified the PATH variable from within codelite?Path is containing c:\codelite;c:\codelite\mingw-4.6.1\bin. (makedir is working).
To make sure its not a configuration problem:
- Close codelite
- Rename %appdata%\CodeLite to something else (e.g. %appdata%\CodeLite.1)
- Start codelite and try to build your project
If you are still facing problems, please zip and attach the workspace here ( you can delete the .tags file to reduce the zip size )
Eran
Make sure you have read the HOW TO POST thread
-
- CodeLite Curious
- Posts: 5
- Joined: Tue Feb 28, 2012 3:18 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: makefile problem
Thanks!
It's solved my basic problem. And you right, I forgot (I don't know where to have to do) to modify a PATH variable within Settings/Build Settings/gnu gcc/Tools/PATH enviroment.
Now I tried to compile a wxwidget project. I set WXCFG and WXWIN in the Settings/Environment Variables. (And I already set in thi windows enviroment variables). But the builder is not finding it:
----------Building project:[ wx1 - Debug ]----------
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
mingw32-make.exe[1]: Entering directory `D:/Dokumentumok/codelite/wp/workspace/wx1'
gcc -o ./Debug/wx1 @"D:\Dokumentumok\codelite\wp\workspace\wx1\wx1.txt" -Lc:/CodeLite/MinGW-4.6.1/lib -L. -lwxmsw28ud -lwxpngd -lwxjpegd -lwxtiffd -lwxzlibd -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows wx-config Error: No valid setup.h of wxWidgets has been found at location: c:\CodeLite\wxWidgets-2.8.12\lib\lib\gcc_lib\mswud\wx\setup.h
gcc: error: wx-config: No such file or directory..
If I trying to build it from the command line wx-config finding the WXWIN and the WXCFG variables. Where I have to set those values?
(and I already set it within the wx Project Settings/Common Settings/Environment Additional environment variables)
It's solved my basic problem. And you right, I forgot (I don't know where to have to do) to modify a PATH variable within Settings/Build Settings/gnu gcc/Tools/PATH enviroment.
Now I tried to compile a wxwidget project. I set WXCFG and WXWIN in the Settings/Environment Variables. (And I already set in thi windows enviroment variables). But the builder is not finding it:
----------Building project:[ wx1 - Debug ]----------
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
Please use the --wxcfg flag (as in wx-config --wxcfg=gcc_dll\mswud)
or set the environment variable WXCFG (as in WXCFG=gcc_dll\mswud)
to specify which configuration exactly you want to use.
mingw32-make.exe[1]: Entering directory `D:/Dokumentumok/codelite/wp/workspace/wx1'
gcc -o ./Debug/wx1 @"D:\Dokumentumok\codelite\wp\workspace\wx1\wx1.txt" -Lc:/CodeLite/MinGW-4.6.1/lib -L. -lwxmsw28ud -lwxpngd -lwxjpegd -lwxtiffd -lwxzlibd -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows wx-config Error: No valid setup.h of wxWidgets has been found at location: c:\CodeLite\wxWidgets-2.8.12\lib\lib\gcc_lib\mswud\wx\setup.h
gcc: error: wx-config: No such file or directory..
If I trying to build it from the command line wx-config finding the WXWIN and the WXCFG variables. Where I have to set those values?
(and I already set it within the wx Project Settings/Common Settings/Environment Additional environment variables)
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: makefile problem
It seems that you are trying to build wx-widgets application in debug mode, but you dont have wxWidgets built in debug mode installed on your machine.
You could try and install codelite with mingw+wxwidgets from the binaries that I release here:
http://sourceforge.net/projects/codelit ... e/download
If you will accept the default paths it will save you alot of problems - it will simply compile ...without any problems
This package include MinGW 4.6.1 + WinAPI + wxWidgets 2.9.2 built in debug mode / release mode (monolithic DLL)
Eran
You could try and install codelite with mingw+wxwidgets from the binaries that I release here:
http://sourceforge.net/projects/codelit ... e/download
If you will accept the default paths it will save you alot of problems - it will simply compile ...without any problems
This package include MinGW 4.6.1 + WinAPI + wxWidgets 2.9.2 built in debug mode / release mode (monolithic DLL)
Eran
Make sure you have read the HOW TO POST thread
-
- CodeLite Curious
- Posts: 5
- Joined: Tue Feb 28, 2012 3:18 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: makefile problem
Thanks Eran!
But I have wx-widget (built in debug mode) on my computer.
What I trying to do: I want to setup my environment based on this: http://codelite.org/WxWidgets/GettingRe ... derWindows (Do-It-Yourself-Way).
(When I downloaded codelite with wx-widget is working like a charm.)
Here's my steps:
1, Downloading Codelite width mingw, and installing this.
2, Downloading wx-widget, unzip, mingw32-make -f makefile.gcc clean
3, Compile wxwidget: mingw32-make -f makefile.gcc UNICODE=1 SHARED=0 MONOLITHIC=1 BUILD=debug
4, Adding environment variables to Settings > Environment Variables. (Actually I added these:
WXWIN=C:\CodeLite\wxWidgets-2.9.2
PATH=$(WXWIN)\lib\gcc_dll;$(PATH)
WXCFG=gcc_dll\mswu
because codelite width wxwidget used this.)
But when I try to compile, I'm getting:
Please use the --prefix flag (as in wx-config --prefix=C:\wxWidgets)
or set the environment variable WXWIN (as in WXWIN=C:\wxWidgets)
to specify where is your installation of wxWidgets.
As you can see, WXWIN is already set. wx-widget already compiled with debug mode. I know, the prebuild version is working, but I want to know, how can I setup the enviroment.
I checked the registry.ini, there were one line difference. I checked the AppData/Roaming/Codelite/config/codelite.xml. There is 3 lines difference, but it is not relevent. I don't know what I have to set, to wx-config getting the WXWIN environment variable.
But I have wx-widget (built in debug mode) on my computer.
What I trying to do: I want to setup my environment based on this: http://codelite.org/WxWidgets/GettingRe ... derWindows (Do-It-Yourself-Way).
(When I downloaded codelite with wx-widget is working like a charm.)
Here's my steps:
1, Downloading Codelite width mingw, and installing this.
2, Downloading wx-widget, unzip, mingw32-make -f makefile.gcc clean
3, Compile wxwidget: mingw32-make -f makefile.gcc UNICODE=1 SHARED=0 MONOLITHIC=1 BUILD=debug
4, Adding environment variables to Settings > Environment Variables. (Actually I added these:
WXWIN=C:\CodeLite\wxWidgets-2.9.2
PATH=$(WXWIN)\lib\gcc_dll;$(PATH)
WXCFG=gcc_dll\mswu
because codelite width wxwidget used this.)
But when I try to compile, I'm getting:
Please use the --prefix flag (as in wx-config --prefix=C:\wxWidgets)
or set the environment variable WXWIN (as in WXWIN=C:\wxWidgets)
to specify where is your installation of wxWidgets.
As you can see, WXWIN is already set. wx-widget already compiled with debug mode. I know, the prebuild version is working, but I want to know, how can I setup the enviroment.
I checked the registry.ini, there were one line difference. I checked the AppData/Roaming/Codelite/config/codelite.xml. There is 3 lines difference, but it is not relevent. I don't know what I have to set, to wx-config getting the WXWIN environment variable.
-
- CodeLite Expert
- Posts: 176
- Joined: Sun Aug 17, 2008 2:45 pm
- Contact:
Re: makefile problem
What are your project settings? For a debug version they should contain this:
g++:
Linker:
For release:
g++:
Linker:
To link against the static wxWidgets libs just change gcc_dll to gcc_lib.
Regards
Frank
g++:
Code: Select all
-g;-Wall;$(shell wx-config --wxcfg=gcc_dll/mswud --debug=yes --cxxflags --unicode=yes)
Code: Select all
-g;$(shell wx-config --debug=yes --libs --unicode=yes);-Wl,--subsystem,windows -mwindows;
g++:
Code: Select all
-O2;$(shell wx-config --wxcfg=gcc_dll/mswu --debug=no --cxxflags --unicode=yes)
Code: Select all
-g;$(shell wx-config --debug=no --libs --unicode=yes);-Wl,--subsystem,windows -mwindows;
Regards
Frank
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: makefile problem
There are 3 places where you could set an environment variable within codelite:
1) Settings -> Environment Variables
2) Workspace Settings (right click the workspace)
3) Project level (right click on the project -> settings -> environment)
The importance order:
project level >> workspace level >> global level
Make sure you got them set properly (i.e. project level does not override WXWIN from the global level with an incorrect value)
If you confirm that everything is set properly:
- Try setting it in the project level and see if it makes any difference
- Make sure that your wxWIdgets is installed where you set WXWIN
- Post here the *complete* build log + the file %appdata%\CodeLite\config\environment_variables.xml + your workspace zipped (you can exclude the .tags file to reudce file size)
Eran
1) Settings -> Environment Variables
2) Workspace Settings (right click the workspace)
3) Project level (right click on the project -> settings -> environment)
The importance order:
project level >> workspace level >> global level
Make sure you got them set properly (i.e. project level does not override WXWIN from the global level with an incorrect value)
If you confirm that everything is set properly:
- Try setting it in the project level and see if it makes any difference
- Make sure that your wxWIdgets is installed where you set WXWIN
- Post here the *complete* build log + the file %appdata%\CodeLite\config\environment_variables.xml + your workspace zipped (you can exclude the .tags file to reudce file size)
Eran
Make sure you have read the HOW TO POST thread
-
- CodeLite Curious
- Posts: 5
- Joined: Tue Feb 28, 2012 3:18 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: makefile problem
Thanks Frank & Eran!
There were problem at the building option and also there were problem at the environment variables, but your help the sample code was finaly compiled.
Thanks
There were problem at the building option and also there were problem at the environment variables, but your help the sample code was finaly compiled.
Thanks