<div>hi</div>
<div>i&#39;ve done what you told be (not to define de -D..) and i do have a .lib too but the problem of the link with the dll still exist.</div>
<div>maybe it&#39;s my fault </div>
<div>there is my code in the three directories(i&#39;m using visual 8 2005 and cmake 2.6)</div>
<div>&nbsp;</div>
<div><strong><u>In the project directory :</u></strong></div>
<div>cmake_minimum_required(VERSION 2.6)</div>
<div># The name of our project is &quot;HELLO&quot;.&nbsp; CMakeLists files in this project can<br># refer to the root source directory of the project as ${HELLO_SOURCE_DIR} and<br># to the root binary directory of the project as ${HELLO_BINARY_DIR}.<br>
project (HELLO)<br>set(CMAKE_USE_RELATIVE_PATH &quot;true&quot;)<br>SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) <br>SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) <br>subdirs(Hello Demo)</div>
<div>&nbsp;</div>
<div><strong><u>In the hello directory (containing a hello.h and hello.cpp and is a shared library):</u></strong></div>
<div>cmake_minimum_required(VERSION 2.6)<br># Create a library called &quot;Hello&quot; which includes the source file &quot;hello.cxx&quot;.<br># The extension is already found.&nbsp; Any number of sources could be listed here.<br>
#Project(Hello) #ajouté<br>#ADD_DEFINITIONS(-DHello_DLL_EXPORT) #ajuté<br>add_library (Hello SHARED hello.cxx)</div>
<div>&nbsp;</div>
<div><strong><u>In demo directory:</u></strong></div>
<div>cmake_minimum_required(VERSION 2.6)</div>
<div># Make sure the compiler can find include files from our Hello library.<br>include_directories (${HELLO_SOURCE_DIR}/Hello)</div>
<div># Make sure the linker can find the Hello library once it is built.<br>link_directories (${HELLO_BINARY_DIR}/Hello)</div>
<div># Add executable called &quot;helloDemo&quot; that is built from the source files<br># &quot;demo.cxx&quot; and &quot;demo_b.cxx&quot;.&nbsp; The extensions are automatically found.<br>add_executable (helloDemo demo.cxx demo_b.cxx )</div>

<div><br># Link the executable to the Hello library.<br>target_link_libraries (helloDemo Hello)</div>
<div>if(MSVC_VERSION)<br>&nbsp; set_target_properties(Hello PROPERTIES<br>&nbsp;&nbsp;&nbsp; LINK_FLAGS &quot; /INCREMENTAL:NO /MANIFEST /NOLOGO&quot;<br>&nbsp;#COMPILE_FLAGS &quot;-DHELLO_EXPORTS&quot;&nbsp; #ajouté in last a verif demin<br>&nbsp;)<br>endif(MSVC_VERSION)<br>
</div>
<div>&nbsp;</div>
<div>thanks for all<br><br></div>
<div class="gmail_quote">2008/6/10 Martin Apel &lt;<a href="mailto:martin.apel@simpack.de">martin.apel@simpack.de</a>&gt;:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">you have probably used declspec(export) for both cases: Compiling AND using the DLL.<br>In my example you have to compile your DLL with a define -DBase_EXPORTS, which causes the<br>
SPCK_BASE_EXPORT to resolve to declspec(export). When you USE the DLL somewhere, you must not define<br>this item, so SPCK_BASE_EXPORT will resolve to declspec(import).<br><br>Hope this helps.<br><br>Martin<br><br>Ingrid Kemgoum wrote:<br>

<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div class="Ih2E3d">hi,<br>i&#39;ve taken your advice on the __declspec stuff and test it on a hello world project. i do have a .lib now but with a warning<br>&quot;<br>hello.cxx<br><br>..\..\CMakeExample\Hello\hello.cxx(5) : warning C4273: &#39;Hello::Print&#39; : inconsistent dll linkage<br>
<br>h:\workspace\cmakeexample\cmakeexample\hello\hello.h(18) : see previous definition of &#39;Print&#39;<br><br>is that normal? anyway there is a problem: the application fail to find the .exe and the .dll though i fixed those paths in the CMakeLists.txt.<br>
<br>what could be the problem?<br><br>thanks for help<br><br>Ingrid<br><br>&nbsp;<br><br><br></div>2008/6/10 Martin Apel &lt;<a href="mailto:martin.apel@simpack.de" target="_blank">martin.apel@simpack.de</a> &lt;mailto:<a href="mailto:martin.apel@simpack.de" target="_blank">martin.apel@simpack.de</a>&gt;&gt;: 
<div class="Ih2E3d"><br><br>&nbsp; &nbsp;Ingrid Kemgoum wrote:<br><br>&nbsp; &nbsp; &nbsp; &nbsp;hi and sorry to disturb<br>&nbsp; &nbsp; &nbsp; &nbsp;(i&#39;m french and my english is not that good)<br></div>&nbsp; &nbsp; &nbsp; &nbsp;but i&#39;ve seen on <a href="http://cmake.org/" target="_blank">cmake.org</a> &lt;<a href="http://cmake.org/" target="_blank">http://cmake.org/</a>&gt;<br>
&nbsp; &nbsp; &nbsp; &nbsp;&lt;<a href="http://cmake.org/" target="_blank">http://cmake.org</a> &lt;<a href="http://cmake.org/" target="_blank">http://cmake.org/</a>&gt;&gt; that i&#39;m having the 
<div>
<div></div>
<div class="Wj3C7c"><br>&nbsp; &nbsp; &nbsp; &nbsp;same problem as you did.<br><br>&nbsp; &nbsp; &nbsp; &nbsp;i&#39;m building a c++ project and from a shared library i only<br>&nbsp; &nbsp; &nbsp; &nbsp;have the .dll (not the .lib)<br>&nbsp; &nbsp; &nbsp; &nbsp; i dont understand explanations on cmake so could you please<br>
&nbsp; &nbsp; &nbsp; &nbsp;give me some?<br>&nbsp; &nbsp; &nbsp; &nbsp; thanks in advance and regards<br>&nbsp; &nbsp; &nbsp; &nbsp; Ingrid<br><br>&nbsp; &nbsp;Hi Ingrid,<br><br>&nbsp; &nbsp;on Windows you have to tell the compiler/linker, which symbols<br>&nbsp; &nbsp;should be exported from a DLL. There is a Microsoft extension to C++<br>
&nbsp; &nbsp;using a declspec(export) and declspec(import) prefix for DLL<br>&nbsp; &nbsp;functions. There&#39;s another possibility to use a so-called<br>&nbsp; &nbsp;.def-file to tell the compiler,<br>&nbsp; &nbsp;which symbols to export. If you have not told the compiler using<br>
&nbsp; &nbsp;one of the two ways, no symbols are exported and thus no .lib file<br>&nbsp; &nbsp;generated.<br>&nbsp; &nbsp;Please google for the explanation of the declspec keyword, it is<br>&nbsp; &nbsp;somewhat beyond my available time to explain it in detail. What I<br>
&nbsp; &nbsp;did looks roughly as follows:<br><br>&nbsp; &nbsp;#ifdef WIN32<br>&nbsp; &nbsp;#ifdef Base_EXPORTS<br>&nbsp; &nbsp;#define SPCK_BASE_EXPORT __declspec(dllexport)<br>&nbsp; &nbsp;#else<br>&nbsp; &nbsp;#define SPCK_BASE_EXPORT __declspec(dllimport)<br>&nbsp; &nbsp;#endif<br>&nbsp; &nbsp;#else<br>
&nbsp; &nbsp;#define SPCK_BASE_EXPORT<br>&nbsp; &nbsp;#endif<br><br>&nbsp; &nbsp;class SPCK_BASE_EXPORT Transformer<br>&nbsp; &nbsp;{<br>&nbsp; &nbsp;...<br>&nbsp; &nbsp;};<br><br>&nbsp; &nbsp;Hope this helps,<br><br>&nbsp; &nbsp;Martin<br>&nbsp; &nbsp;-- <br><br></div></div></blockquote><br><br>-- <br><br>Martin Apel &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Tel: &nbsp; &nbsp; 0049 8153 9288-47<br>
Software Architect &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;E-Mail: &nbsp;<a href="mailto:martin.apel@simpack.de" target="_blank">martin.apel@simpack.de</a><br><br>INTEC GmbH &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Tel: &nbsp; &nbsp; 0049 8153 9288-0<br>
Argelsrieder Feld 13 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Fax: &nbsp; &nbsp; 0049 8153 9288-11<br>82234 Wessling &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;E-Mail: &nbsp;<a href="mailto:intec@simpack.de" target="_blank">intec@simpack.de</a><br>Germany &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; URL: &nbsp; &nbsp; <a href="http://www.simpack.com/" target="_blank">http://www.simpack.com</a><br>
<br></blockquote></div><br>