First, Thanks to Eran and everybody else working on this IDE. It is really nice you put so much effort into it and also support multiple operating systems!
System Information:
Code: Select all
OS: : Windows 7, 64 Bit
CodeLite : version 7.0 , 64 Bit
- codelite-amd64-7.0.exe from the homepage)
- installed to folder C:\Program Files\CodeLite
Compiler : Mingw 4.8.1
- installed to folder C:\MinGW-4.8.1
I made a workspace proc_space ( located at C:\cpp_projects\proc_space ) which contains two projects:
- game
- game_test
Code: Select all
proc_space
├───game
│ Bomb.hpp
│ Bullet.hpp
│ Constants.hpp
│ Entity.hpp
│ Game.cpp
│ Game.hpp
│ game.mk
│ game.project
│ game.txt
│ main.cpp
│ main.hpp
│ qt.hpp
│ QuadTree.cpp
│ QuadTree.hpp
│ Ship.hpp
│ SpatialHash.cpp
│ SpatialHash.hpp
│
└───game_test
game_test.mk
game_test.project
game_test.txt
main.cpp
I use the standard template library and SFML 2.2 ( located at C:\dev_libs_cpp\SFML-2.2 )
game.project (build configuration):
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CodeLite_Project Name="game" InternalType="Console">
<Plugins>
<Plugin Name="qmake">
<![CDATA[00020001N0005Debug0000000000000001N0007Release000000000000]]>
</Plugin>
<Plugin Name="CMakePlugin">
<![CDATA[[{
"name": "Debug",
"enabled": false,
"buildDirectory": "build",
"sourceDirectory": "$(ProjectPath)",
"generator": "",
"buildType": "",
"arguments": [],
"parentProject": ""
}, {
"name": "Release",
"enabled": false,
"buildDirectory": "build",
"sourceDirectory": "$(ProjectPath)",
"generator": "",
"buildType": "",
"arguments": [],
"parentProject": ""
}]]]>
</Plugin>
</Plugins>
<Description/>
<Dependencies/>
<VirtualDirectory Name="src">
<File Name="main.cpp"/>
<File Name="Entity.hpp"/>
<File Name="main.hpp"/>
<File Name="Ship.hpp"/>
<File Name="Game.hpp"/>
<File Name="Game.cpp"/>
<File Name="Bullet.hpp"/>
<File Name="Constants.hpp"/>
<File Name="Bomb.hpp"/>
<File Name="SpatialHash.hpp"/>
<File Name="SpatialHash.cpp"/>
<File Name="QuadTree.hpp"/>
<File Name="QuadTree.cpp"/>
</VirtualDirectory>
<Settings Type="Executable">
<GlobalSettings>
<Compiler Options="" C_Options="" Assembler="">
<IncludePath Value="."/>
</Compiler>
<Linker Options="">
<LibraryPath Value="."/>
</Linker>
<ResourceCompiler Options=""/>
</GlobalSettings>
<Configuration Name="Debug" CompilerType="MinGW ( CodeLite-4.8.1 )" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
<Compiler Options="-g;-O0;-std=c++11;-Wall" C_Options="-g;-O0;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
<IncludePath Value="."/>
<IncludePath Value="C:/dev_libs_cpp/SFML-2.2/include"/>
</Compiler>
<Linker Options="" Required="yes">
<LibraryPath Value="C:/dev_libs_cpp/SFML-2.2/lib"/>
<Library Value="sfml-main-d"/>
<Library Value="sfml-system-d"/>
<Library Value="sfml-graphics-d"/>
<Library Value="sfml-window-d"/>
<Library Value="sfml-audio-d"/>
</Linker>
<ResourceCompiler Options="" Required="no"/>
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
<![CDATA[]]>
</Environment>
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
<DebuggerSearchPaths/>
<PostConnectCommands/>
<StartupCommands/>
</Debugger>
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<RebuildCommand/>
<CleanCommand/>
<BuildCommand/>
<PreprocessFileCommand/>
<SingleFileCommand/>
<MakefileGenerationCommand/>
<ThirdPartyToolName>None</ThirdPartyToolName>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
<Completion EnableCpp11="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
<SearchPaths/>
</Completion>
</Configuration>
<Configuration Name="Release" CompilerType="MinGW ( CodeLite-4.8.1 )" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
<Compiler Options="-O2;-std=c++11;-Wall" C_Options="-O2;-Wall" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
<IncludePath Value="."/>
<IncludePath Value="C:/dev_libs_cpp/SFML-2.2/include"/>
<Preprocessor Value="NDEBUG"/>
</Compiler>
<Linker Options="" Required="yes">
<LibraryPath Value="C:/dev_libs_cpp/SFML-2.2/lib"/>
<Library Value="sfml-main-d"/>
<Library Value="sfml-system-d"/>
<Library Value="sfml-graphics-d"/>
<Library Value="sfml-window-d"/>
<Library Value="sfml-audio-d"/>
</Linker>
<ResourceCompiler Options="" Required="no"/>
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="./Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
<![CDATA[]]>
</Environment>
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
<DebuggerSearchPaths/>
<PostConnectCommands/>
<StartupCommands/>
</Debugger>
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<RebuildCommand/>
<CleanCommand/>
<BuildCommand/>
<PreprocessFileCommand/>
<SingleFileCommand/>
<MakefileGenerationCommand/>
<ThirdPartyToolName>None</ThirdPartyToolName>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
<Completion EnableCpp11="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
<SearchPaths/>
</Completion>
</Configuration>
</Settings>
</CodeLite_Project>
Code: Select all
C:\Windows\system32\cmd.exe /C "C:/MinGW-4.8.1/bin/mingw32-make.exe -j4 SHELL=cmd.exe -e -f Makefile"
"----------Building project:[ game - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/cpp_projects/proc_space/game'
C:/MinGW-4.8.1/bin/g++.exe -c "C:/cpp_projects/proc_space/game/main.cpp" -g -O0 -std=c++11 -Wall -o ./Debug/main.cpp.o -I. -I. -IC:/dev_libs_cpp/SFML-2.2/include
C:/MinGW-4.8.1/bin/g++.exe -c "C:/cpp_projects/proc_space/game/Game.cpp" -g -O0 -std=c++11 -Wall -o ./Debug/Game.cpp.o -I. -I. -IC:/dev_libs_cpp/SFML-2.2/include
C:/MinGW-4.8.1/bin/g++.exe -c "C:/cpp_projects/proc_space/game/SpatialHash.cpp" -g -O0 -std=c++11 -Wall -o ./Debug/SpatialHash.cpp.o -I. -I. -IC:/dev_libs_cpp/SFML-2.2/include
C:/MinGW-4.8.1/bin/g++.exe -c "C:/cpp_projects/proc_space/game/QuadTree.cpp" -g -O0 -std=c++11 -Wall -o ./Debug/QuadTree.cpp.o -I. -I. -IC:/dev_libs_cpp/SFML-2.2/include
C:/MinGW-4.8.1/bin/g++.exe -o ./Debug/game @"game.txt" -L. -LC:/dev_libs_cpp/SFML-2.2/lib -lsfml-main-d -lsfml-system-d -lsfml-graphics-d -lsfml-window-d -lsfml-audio-d
mingw32-make.exe[1]: Leaving directory 'C:/cpp_projects/proc_space/game'
0 errors, 0 warnings
Code: Select all
.d
Game.cpp.o
Game.cpp.o.d
game.exe
main.cpp.o
main.cpp.o.d
QuadTree.cpp.o
QuadTree.cpp.o.d
SpatialHash.cpp.o
SpatialHash.cpp.o.d
Here the problems start
game_test project setup:
In the game_test project I want to test certain functionality of project game.
I use the Unittest++ (located at C:\UnitTest++-1.3 ) and again SFML 2.2 ( located at C:\dev_libs_cpp\SFML-2.2 )
game_test.project (build configuration):
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CodeLite_Project Name="game_test" InternalType="UnitTest++">
<Plugins>
<Plugin Name="qmake">
<![CDATA[00010001N0005Debug000000000000]]>
</Plugin>
<Plugin Name="CMakePlugin">
<![CDATA[[{
"name": "Debug",
"enabled": false,
"buildDirectory": "build",
"sourceDirectory": "$(ProjectPath)",
"generator": "",
"buildType": "",
"arguments": [],
"parentProject": ""
}, {
"name": "Release",
"enabled": false,
"buildDirectory": "build",
"sourceDirectory": "$(ProjectPath)",
"generator": "",
"buildType": "",
"arguments": [],
"parentProject": ""
}]]]>
</Plugin>
</Plugins>
<Description/>
<Dependencies/>
<VirtualDirectory Name="src">
<File Name="main.cpp"/>
</VirtualDirectory>
<Settings Type="Executable">
<GlobalSettings>
<Compiler Options="" C_Options="" Assembler="">
<IncludePath Value="."/>
</Compiler>
<Linker Options="">
<LibraryPath Value="."/>
</Linker>
<ResourceCompiler Options=""/>
</GlobalSettings>
<Configuration Name="Debug" CompilerType="MinGW ( CodeLite-4.8.1 )" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
<Compiler Options="-g;-std=c++11" C_Options="-g" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
<IncludePath Value="$(UNIT_TEST_PP_SRC_DIR)/src"/>
<IncludePath Value="."/>
<IncludePath Value="C:/UnitTest++-1.3/src"/>
<IncludePath Value="C:/dev_libs_cpp/SFML-2.2/include"/>
<IncludePath Value="C:/cpp_projects/proc_space/game"/>
</Compiler>
<Linker Options="" Required="yes">
<LibraryPath Value="$(UNIT_TEST_PP_SRC_DIR)/Debug"/>
<LibraryPath Value="C:/cpp_projects/proc_space/game/Release"/>
<LibraryPath Value="C:/cpp_projects/proc_space/game/Debug"/>
<LibraryPath Value="C:/dev_libs_cpp/SFML-2.2/lib"/>
<Library Value="libUnitTest++.a"/>
<Library Value="QuadTree.cpp.o"/>
</Linker>
<ResourceCompiler Options="" Required="no"/>
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="Debug" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
<![CDATA[]]>
</Environment>
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
<DebuggerSearchPaths/>
<PostConnectCommands/>
<StartupCommands/>
</Debugger>
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<RebuildCommand/>
<CleanCommand/>
<BuildCommand/>
<PreprocessFileCommand/>
<SingleFileCommand/>
<MakefileGenerationCommand/>
<ThirdPartyToolName>None</ThirdPartyToolName>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
<Completion EnableCpp11="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
<SearchPaths/>
</Completion>
</Configuration>
<Configuration Name="Release" CompilerType="MinGW ( CodeLite-4.8.1 )" DebuggerType="GNU gdb debugger" Type="Executable" BuildCmpWithGlobalSettings="append" BuildLnkWithGlobalSettings="append" BuildResWithGlobalSettings="append">
<Compiler Options="" C_Options="" Assembler="" Required="yes" PreCompiledHeader="" PCHInCommandLine="no" PCHFlags="" PCHFlagsPolicy="0">
<IncludePath Value="."/>
<IncludePath Value="$(UNIT_TEST_PP_SRC_DIR)/src"/>
</Compiler>
<Linker Options="-O2" Required="yes">
<LibraryPath Value="$(UNIT_TEST_PP_SRC_DIR)/Release"/>
<Library Value="libUnitTest++.a"/>
</Linker>
<ResourceCompiler Options="" Required="no"/>
<General OutputFile="$(IntermediateDirectory)/$(ProjectName)" IntermediateDirectory="Release" Command="./$(ProjectName)" CommandArguments="" UseSeparateDebugArgs="no" DebugArguments="" WorkingDirectory="$(IntermediateDirectory)" PauseExecWhenProcTerminates="yes" IsGUIProgram="no" IsEnabled="yes"/>
<Environment EnvVarSetName="<Use Defaults>" DbgSetName="<Use Defaults>">
<![CDATA[]]>
</Environment>
<Debugger IsRemote="no" RemoteHostName="" RemoteHostPort="" DebuggerPath="" IsExtended="no">
<DebuggerSearchPaths/>
<PostConnectCommands/>
<StartupCommands/>
</Debugger>
<PreBuild/>
<PostBuild/>
<CustomBuild Enabled="no">
<RebuildCommand/>
<CleanCommand/>
<BuildCommand/>
<PreprocessFileCommand/>
<SingleFileCommand/>
<MakefileGenerationCommand/>
<ThirdPartyToolName>None</ThirdPartyToolName>
<WorkingDirectory/>
</CustomBuild>
<AdditionalRules>
<CustomPostBuild/>
<CustomPreBuild/>
</AdditionalRules>
<Completion EnableCpp11="no">
<ClangCmpFlagsC/>
<ClangCmpFlags/>
<ClangPP/>
<SearchPaths/>
</Completion>
</Configuration>
</Settings>
</CodeLite_Project>
Code: Select all
<Linker Options="" Required="yes">
<LibraryPath Value="$(UNIT_TEST_PP_SRC_DIR)/Debug"/>
<LibraryPath Value="C:/cpp_projects/proc_space/game/Release"/>
<LibraryPath Value="C:/cpp_projects/proc_space/game/Debug"/>
<LibraryPath Value="C:/dev_libs_cpp/SFML-2.2/lib"/>
<Library Value="libUnitTest++.a"/>
<Library Value="QuadTree.cpp.o"/>
</Linker>
Code: Select all
#include <UnitTest++.h>
#include "SFML\Window.hpp"
#include "QuadTree.hpp"
// run all tests
int main(int argc, char **argv)
{
return UnitTest::RunAllTests();
}
TEST(Test_QuadTree)
{
QuadTree qt = QuadTree(0, sf::Vector2f(0.0f, 0.0f), sf::Vector2f(512.0f, 512.0f));
}
When I try to compile this I get the following output:
Code: Select all
C:\Windows\system32\cmd.exe /C "C:/MinGW-4.8.1/bin/mingw32-make.exe -j4 SHELL=cmd.exe -e -f Makefile"
"----------Building project:[ game_test - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/cpp_projects/proc_space/game_test'
C:/MinGW-4.8.1/bin/g++.exe -c "C:/cpp_projects/proc_space/game_test/main.cpp" -g -std=c++11 -o Debug/main.cpp.o -I. -IC:\UnitTest++-1.3/src -I. -IC:/UnitTest++-1.3/src -IC:/dev_libs_cpp/SFML-2.2/include -IC:/cpp_projects/proc_space/game
C:/MinGW-4.8.1/bin/g++.exe -o Debug/game_test @"game_test.txt" -L. -LC:\UnitTest++-1.3/Debug -LC:/cpp_projects/proc_space/game/Release -LC:/cpp_projects/proc_space/game/Debug -LC:/dev_libs_cpp/SFML-2.2/lib -lUnitTest++ -lQuadTree.cpp.o
c:/mingw-4.8.1/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lQuadTree.cpp.o
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[1]: *** [Debug/game_test] Error 1
mingw32-make.exe: *** [All] Error 2
game_test.mk:81: recipe for target 'Debug/game_test' failed
mingw32-make.exe[1]: Leaving directory 'C:/cpp_projects/proc_space/game_test'
Makefile:4: recipe for target 'All' failed
1 errors, 0 warnings
Code: Select all
cannot find -lQuadTree.cpp.o
Do I perhaps miss something?
Thanks for any help, suggestions. I hope I didn't paste too much text.