<html><body><span style="font-family:Verdana; color:#000000; font-size:10pt;"><div>How do I link a *.a file that doesn't start with "lib" to an executable?&nbsp; For example, if I have a library named foo.a with a function called getnum, how do I link to foo.a in CMakeLists.txt?<br></div><div><br></div><div>If my executable file is</div><div>---main.cpp---</div><div>extern int getnum();<br></div><div>int main(int, char**)&nbsp;&nbsp;&nbsp; { cout &lt;&lt; getnum() &lt;&lt; endl;}</div><div>----------------<br></div><div>and my CMakeFile is<br></div><div>---CMakeLists.txt---<br></div><div>PROJECT(TESTPROJECT)</div><div>ADD_EXECUTABLE(test main.cpp foo.a)</div><div>-----------------------<br></div><div>I'll get an error about an undefined reference to getnum when I run the makefile.</div><div><br></div><div>If I use TARGET_LINK_LIBRARIES(test foo), I'll get an error about not begin able to find the library, since it's using the -l flag for the linker.&nbsp; I'd rather not have to rename foo.a, because it will affect other existing software.<br></div><div><br></div><div>Thanks,</div><div>-Ed<br></div></span></body></html>