The background of this question is that I want to build one BrewMP project, the compiler is ARM RVCT40.&nbsp; <br><br>Original build method is below:<br>1.&nbsp; Build many static libraries. <br>2.&nbsp; Link them to elf.<br>3.&nbsp; Create mod file, final one. <br><br>Now What I need to do is to achieve these steps by CMAKE, any idea or support? Thanks. <br><br>TARGET myapp.elf<br>&nbsp;&nbsp;&nbsp; "C:\progra~1\ARM\RVCT\Programs\4.0\650\win_32-pentium"\armlink -o myapp.elf --vfemode=off&nbsp; --split --reloc&nbsp; --ro_base 0 --entry AEEMod_Load .\NavObj\AEEAppGen.o .\NavObj\AEEModGen.o .\NavObj\TeleNavAppUi.o .\NavObj\cpl.l .\NavObj\cis.l .\NavObj\cpf_ui.l .\NavObj\cpf_lbs.l .\NavObj\myapp.l --first AEEMod_Load<br>---------------------------------------------------------------<br>TARGET myapp.mod<br>&nbsp;&nbsp;&nbsp; ".\elf2mod"&nbsp; myapp.elf&nbsp; -output myapp.mod<br>elf2mod: RelocMod ro-base=0x200&nbsp; rw-base=0x126040<br>elf2mod: Created myapp.mod<br><div></div><br><br>At 2011-06-15 09:43:09£¬jianhua&nbsp;&lt;yujianhua1982@126.com&gt; wrote:<br> <blockquote id="isReplyContent" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi All;<br><br>No matter Linux or Windows, when try to build SHARED library, it will always get the following error message.&nbsp; <br>ADD_LIBRARY(hello SHARED&nbsp; hello.c)<br><br>ADD_LIBRARY for library hello is used with the SHARED option, but the target platform supports only STATIC libraries. Building it STATIC instead. This may lead to problems.<br><br>My question:<br>a) Why not support it? Is my CMakeLists any wrong for cross compiling? <br>b) Is there any method available to support it? <br><br>I have searched in google and found the following threat, but after SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE), it still got the same error message. <br>http://web.archiveorange.com/archive/v/5y7PkYdzD3pM4MX0QSD9<br><br>Anyone who has idea about it please help, thanks.&nbsp; <br><br>&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&nbsp; brewmp-arm.cmake<br>INCLUDE (CMakeForceCompiler)<br><br>SET (CMAKE_SYSTEM_NAME Generic)<br>SET (CMAKE_SYST
 EM_VERSION 1)<br>SET (CMAKE_SYSTEM_PROCESSOR arm)<br>SET (CMAKE_CROSSCOMPILING 1)<br><br>SET (RVCT40BIN $ENV{RVCT40BIN})<br>SET (BREWMP_PLATFORM $ENV{BREWMPSDK})<br><br>SET (_CMAKE_TOOLCHAIN_PREFIX arm)<br>SET (_CMAKE_TOOLCHAIN_LOCATION ${RVCT40BIN})<br><br>find_file(ARMCC armcc ${RVCT40BIN})<br>CMAKE_FORCE_C_COMPILER (${ARMCC} ArmBMPCross)<br>CMAKE_FORCE_CXX_COMPILER (${ARMCC} ArmBMPCross)<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>set (CMAKE_C_FLAGS "--cpu ARM9TDMI --apcs /noropi/interwork/norwpi --littleend --split_sections --fpu=softvfp --exceptions --no_implicit_include ${BREWMP_INCLUDE} ${BREWMP_DEFINE}" CACHE STRING "c flags" FORCE)<br>set (CMAKE_CXX_FLAGS "--cpu ARM9TDMI --apcs /noropi/interwork/norwpi --littleend --split_sections --fpu=softvfp --exceptions --no_implicit_include ${BREWMP_INCLUDE} ${BREWMP_DEFINE}" CACHE STRING "c++ flags" FORCE)<br><br>SET (CMAKE_C_CREATE_STATIC_LIBRARY "&lt;CMAKE_AR&gt; --cr
 eate -cr &lt;LINK_FLAGS&gt; &lt;TARGET&gt; &lt;OBJECTS&gt;")<br>SET (CMAKE_CXX_CREATE_STATIC_LIBRARY "&lt;CMAKE_AR&gt; --create -cr &lt;LINK_FLAGS&gt; &lt;TARGET&gt; &lt;OBJECTS&gt;")<br><br><br>        
<br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span></blockquote><br><br><span title="neteasefooter"><span id="netease_mail_footer"></span></span>