Hi,
Ubuntu 10.10, 64bit. GCC/G++ 4.4.5. Installed Codelite 2.8 .0.4537. Made simple "hello world" console program, it works.
So now how I got the problem:
1. New workspace
2. Made library project, dynamic (shared) library. Two c++ files, one header file. First problem I hit here is that c++ files are NOT compiled with -fPIC compiler switch as required. Fixed it by adding -fPIC to library project settings.
3. Executable console project which ought to call library - cannot include from lib project, cannot link etc.
How it is supposed to work? How in general I set dependencies - libA is to be build first, because libB and libC depends on it, but then executable shall depends on all libraries, build last and link with lib[A,B,C] properly
Help is greatly appreciated
regards
How to use library from project?
-
- CodeLite Curious
- Posts: 2
- Joined: Thu Dec 23, 2010 8:55 am
- Genuine User: Yes
- IDE Question: C++
- Contact:
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: How to use library from project?
Actually, since you will need it for all of your projects, I suggest to add it in the Compiler level and not per-project.Iwan Zotow wrote: Two c++ files, one header file. First problem I hit here is that c++ files are NOT compiled with -fPIC compiler switch as required. Fixed it by adding -fPIC to library project settings.
From the main menu:
Settings | Build Settings | Compilers | gnu g++ | Tools
Update the "C++ compiler name" from
Code: Select all
g++
to
Code: Select all
g++ -fPIC
Repeat the above for the "gnu gcc" compiler
You will have to be more specific here...Iwan Zotow wrote:3. Executable console project which ought to call library - cannot include from lib project, cannot link etc.
Read this:
http://codelite.org/forum/viewtopic.php?f=3&t=804
Eran
Make sure you have read the HOW TO POST thread
-
- CodeLite Curious
- Posts: 2
- Joined: Thu Dec 23, 2010 8:55 am
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: How to use library from project?
Well, some libraries might still be build as static. But thank you for help, it workedI suggest to add it in the Compiler level and not per-project
OkYou will have to be more specific here...
Case 1. Workspace, one executable (main) project and one shared library project. Shared library builds ok, no error. But how to add above-mentioned library to the main executable project?
So that if I change something in library, main executable would be properly recompiled or/and relinked
Case 2. Workspace, one executable (main) project and three shared library projects. Out of three libraries, one is base (libBase) and two other libraries (libA and libB) depend on it. Main executable depends on libA and libB.
How to describe such configuration in Codelite ?
libBase
/ \
/ \
libA libB
\ /
\ /
Main exe
In general, in projects with many libs and exes, we have some kind of graph of dependencies. How this graph is mapped into Codelite?
Thank you
- eranif
- CodeLite Plugin
- Posts: 6375
- Joined: Wed Feb 06, 2008 9:29 pm
- Genuine User: Yes
- IDE Question: C++
- Contact:
Re: How to use library from project?
Right click on your executable project, and select 'Build order'
You will then be given the list of all the other projects, simply check their names and arrange their order.
Eran
You will then be given the list of all the other projects, simply check their names and arrange their order.
Eran
Make sure you have read the HOW TO POST thread