GCC Linker cannot locate library - c

I'm trying to compile the PCRE library into a testing executable.
The documentation states that running Make and then configure should generate the library.
In the PCRE source directory:
Make
./configure
gcc -o test test.c -L . -lpcre
However the following error returns:
/usr/bin/ld: cannot find -pcre
collect2: error: ld returned 1 exit status
Note: I've also tried flag -libpcre. I was able to sucessfully run this on MacOS (seperately compiled but same library source code and same testiing source code).
Directory Contents:
132html pcre16_globals.c
aclocal.m4 pcre16_jit_compile.c
AUTHORS pcre16_maketables.c
ChangeLog pcre16_newline.c
CheckMan pcre16_ord2utf16.c
CleanTxt pcre16_printint.c
cmake pcre16_refcount.c
CMakeLists.txt pcre16_string_utils.c
compile pcre16_study.c
config-cmake.h.in pcre16_tables.c
config.guess pcre16_ucd.c
config.h pcre16_utf16_utils.c
config.h.generic pcre16_valid_utf16.c
config.h.in pcre16_version.c
config.log pcre16_xclass.c
config.status pcre32_byte_order.c
config.sub pcre32_chartables.c
configure pcre32_compile.c
configure.ac pcre32_config.c
COPYING pcre32_dfa_exec.c
depcomp pcre32_exec.c
Detrail pcre32_fullinfo.c
dftables.c pcre32_get.c
doc pcre32_globals.c
HACKING pcre32_jit_compile.c
INSTALL pcre32_maketables.c
install-sh pcre32_newline.c
libpcre16.pc pcre32_ord2utf32.c
libpcre16.pc.in pcre32_printint.c
libpcre32.pc pcre32_refcount.c
libpcre32.pc.in pcre32_string_utils.c
libpcrecpp.la pcre32_study.c
libpcrecpp_la-pcrecpp.lo pcre32_tables.c
libpcrecpp_la-pcrecpp.o pcre32_ucd.c
libpcrecpp_la-pcre_scanner.lo pcre32_utf32_utils.c
libpcrecpp_la-pcre_scanner.o pcre32_valid_utf32.c
libpcrecpp_la-pcre_stringpiece.lo pcre32_version.c
libpcrecpp_la-pcre_stringpiece.o pcre32_xclass.c
libpcrecpp.pc pcre_byte_order.c
libpcrecpp.pc.in pcre_chartables.c
libpcre.la pcre_chartables.c.dist
libpcre_la-pcre_byte_order.lo pcre_compile.c
libpcre_la-pcre_byte_order.o pcre-config
libpcre_la-pcre_chartables.lo pcre_config.c
libpcre_la-pcre_chartables.o pcre-config.in
libpcre_la-pcre_compile.lo pcrecpparg.h
libpcre_la-pcre_compile.o pcrecpparg.h.in
libpcre_la-pcre_config.lo pcrecpp.cc
libpcre_la-pcre_config.o pcrecpp.h
libpcre_la-pcre_dfa_exec.lo pcrecpp_internal.h
libpcre_la-pcre_dfa_exec.o pcrecpp_unittest
libpcre_la-pcre_exec.lo pcrecpp_unittest.cc
libpcre_la-pcre_exec.o pcrecpp_unittest-pcrecpp_unittest.o
libpcre_la-pcre_fullinfo.lo pcredemo
libpcre_la-pcre_fullinfo.o pcredemo.c
libpcre_la-pcre_get.lo pcre_dfa_exec.c
libpcre_la-pcre_get.o pcre_exec.c
libpcre_la-pcre_globals.lo pcre_fullinfo.c
libpcre_la-pcre_globals.o pcre_get.c
libpcre_la-pcre_jit_compile.lo pcregexp.pas
libpcre_la-pcre_jit_compile.o pcre_globals.c
libpcre_la-pcre_maketables.lo pcregrep
libpcre_la-pcre_maketables.o pcregrep.c
libpcre_la-pcre_newline.lo pcregrep-pcregrep.o
libpcre_la-pcre_newline.o pcre.h
libpcre_la-pcre_ord2utf8.lo pcre.h.generic
libpcre_la-pcre_ord2utf8.o pcre.h.in
libpcre_la-pcre_refcount.lo pcre_internal.h
libpcre_la-pcre_refcount.o pcre_jit_compile.c
libpcre_la-pcre_string_utils.lo pcre_jit_test.c
libpcre_la-pcre_string_utils.o pcre_maketables.c
libpcre_la-pcre_study.lo pcre_newline.c
libpcre_la-pcre_study.o pcre_ord2utf8.c
libpcre_la-pcre_tables.lo pcreposix.c
libpcre_la-pcre_tables.o pcreposix.h
libpcre_la-pcre_ucd.lo pcre_printint.c
libpcre_la-pcre_ucd.o pcre_refcount.c
libpcre_la-pcre_valid_utf8.lo pcre_scanner.cc
libpcre_la-pcre_valid_utf8.o pcre_scanner.h
libpcre_la-pcre_version.lo pcre_scanner_unittest
libpcre_la-pcre_version.o pcre_scanner_unittest.cc
libpcre_la-pcre_xclass.lo pcre_scanner_unittest-pcre_scanner_unittest.o
libpcre_la-pcre_xclass.o pcre_stringpiece.cc
libpcre.pc pcre_stringpiece.h
libpcre.pc.in pcre_stringpiece.h.in
libpcreposix.la pcre_stringpiece_unittest
libpcreposix_la-pcreposix.lo pcre_stringpiece_unittest.cc
libpcreposix_la-pcreposix.o pcre_stringpiece_unittest-pcre_stringpiece_unittest.o
libpcreposix.pc pcre_string_utils.c
libpcreposix.pc.in pcre_study.c
libtool pcre_tables.c
LICENCE pcretest
ltmain.sh pcre_test.c
m4 pcretest.c
Makefile pcretest-pcre_printint.o
Makefile.am pcretest-pcretest.o
Makefile.in pcre_ucd.c
makevp.bat pcre_valid_utf8.c
makevp_c.txt pcre_version.c
makevp_l.txt pcre_xclass.c
missing perltest.pl
NEWS PrepareRelease
NON-AUTOTOOLS-BUILD README
NON-UNIX-USE RunGrepTest
pcre16_byte_order.c RunTest
pcre16_chartables.c RunTest.bat
pcre16_compile.c sljit
pcre16_config.c stamp-h1
pcre16_dfa_exec.c test.c
pcre16_exec.c testdata
pcre16_fullinfo.c ucp.h
pcre16_get.c

Try -lpcre not -libpcre when you link. -l assumes the lib prefix and takes the name of the lib so -lpcre looks for libpcre

Related

Problem with header imports in WSL Ubuntu. Using C in VSC on Win11

i have installed WSL and Ubuntu.
if I want to run a code in C it doesn't compile because of the following error message:
In file included from /usr/include/x86_64-linux-gnu/sys/socket.h:33,
from sysprak-client.c:5:
/usr/include/x86_64-linux-gnu/bits/socket.h:356:11: fatal error: asm/socket.h: No such file or directory
356 | # include <asm/socket.h>
| ^~~~~~~~~~~~~~
compilation terminated.
In file included from /usr/include/x86_64-linux-gnu/sys/socket.h:33,
from performConnection.c:6:
/usr/include/x86_64-linux-gnu/bits/socket.h:356:11: fatal error: asm/socket.h: No such file or directory
356 | # include <asm/socket.h>
| ^~~~~~~~~~~~~~
compilation terminated.
It seems like there is a problem with the header files, and I am completely new to WSL.
Anyways I already did some research and I found this command:
sudo apt-get install linux-headers-$(uname -r)
I ran it in Ubuntu and it throws this error:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package linux-headers-5.15.79.1-microsoft-standard-WSL2
E: Couldn't find any package by glob 'linux-headers-5.15.79.1-microsoft-standard-WSL2'
E: Couldn't find any package by regex 'linux-headers-5.15.79.1-microsoft-standard-WSL2'
Any help is appreciated :)
--- Down below the new output
I get the following output running the command
sudo apt-get install linux-headers
:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package linux-headers is a virtual package provided by:
linux-headers-5.15.0-1013-gkeop 5.15.0-1013.17
linux-headers-5.15.0-1012-gkeop 5.15.0-1012.16
linux-headers-5.15.0-1011-gkeop 5.15.0-1011.15
linux-headers-5.15.0-1008-gkeop 5.15.0-1008.12
linux-headers-5.15.0-1007-gkeop 5.15.0-1007.10
linux-headers-5.15.0-1005-gkeop 5.15.0-1005.7
linux-headers-5.15.0-1004-gkeop 5.15.0-1004.6
linux-headers-5.15.0-1003-gkeop 5.15.0-1003.5
linux-headers-5.15.0-1002-gkeop 5.15.0-1002.4
linux-headers-5.15.0-1001-gkeop 5.15.0-1001.2
linux-headers-6.1.0-1004-oem 6.1.0-1004.4
linux-headers-6.0.0-1010-oem 6.0.0-1010.10
linux-headers-6.0.0-1009-oem 6.0.0-1009.9
linux-headers-6.0.0-1008-oem 6.0.0-1008.8
linux-headers-6.0.0-1007-oem 6.0.0-1007.7
linux-headers-6.0.0-1006-oem 6.0.0-1006.6
linux-headers-5.19.0-28-generic 5.19.0-28.29~22.04.1
linux-headers-5.17.0-1026-oem 5.17.0-1026.27
linux-headers-5.17.0-1025-oem 5.17.0-1025.26
linux-headers-5.17.0-1024-oem 5.17.0-1024.25
linux-headers-5.17.0-1021-oem 5.17.0-1021.22
linux-headers-5.17.0-1020-oem 5.17.0-1020.21
linux-headers-5.17.0-1019-oem 5.17.0-1019.20
linux-headers-5.17.0-1018-oem 5.17.0-1018.19
linux-headers-5.17.0-1017-oem 5.17.0-1017.18
linux-headers-5.17.0-1016-oem 5.17.0-1016.17
linux-headers-5.17.0-1015-oem 5.17.0-1015.16
linux-headers-5.17.0-1014-oem 5.17.0-1014.15
linux-headers-5.17.0-1013-oem 5.17.0-1013.14
linux-headers-5.17.0-1012-oem 5.17.0-1012.13
linux-headers-5.17.0-1011-oem 5.17.0-1011.12
linux-headers-5.17.0-1006-oem 5.17.0-1006.6
linux-headers-5.17.0-1004-oem 5.17.0-1004.4
linux-headers-5.15.0-58-lowlatency 5.15.0-58.64
linux-headers-5.15.0-58-generic 5.15.0-58.64
linux-headers-5.15.0-57-lowlatency 5.15.0-57.63
linux-headers-5.15.0-57-generic 5.15.0-57.63
linux-headers-5.15.0-56-lowlatency 5.15.0-56.62
linux-headers-5.15.0-56-generic 5.15.0-56.62
linux-headers-5.15.0-53-lowlatency 5.15.0-53.59
linux-headers-5.15.0-53-generic 5.15.0-53.59
linux-headers-5.15.0-52-lowlatency 5.15.0-52.58
linux-headers-5.15.0-52-generic 5.15.0-52.58
linux-headers-5.15.0-50-lowlatency 5.15.0-50.56
linux-headers-5.15.0-50-generic 5.15.0-50.56
linux-headers-5.15.0-48-lowlatency 5.15.0-48.54
linux-headers-5.15.0-48-generic 5.15.0-48.54
linux-headers-5.15.0-47-lowlatency 5.15.0-47.53
linux-headers-5.15.0-47-generic 5.15.0-47.51
linux-headers-5.15.0-46-lowlatency 5.15.0-46.49
linux-headers-5.15.0-46-generic 5.15.0-46.49
linux-headers-5.15.0-43-lowlatency 5.15.0-43.46
linux-headers-5.15.0-43-generic 5.15.0-43.46
linux-headers-5.15.0-41-lowlatency 5.15.0-41.44
linux-headers-5.15.0-41-generic 5.15.0-41.44
linux-headers-5.15.0-40-lowlatency 5.15.0-40.43
linux-headers-5.15.0-40-generic 5.15.0-40.43
linux-headers-5.15.0-39-lowlatency 5.15.0-39.42
linux-headers-5.15.0-39-generic 5.15.0-39.42
linux-headers-5.15.0-37-lowlatency 5.15.0-37.39
linux-headers-5.15.0-37-generic 5.15.0-37.39
linux-headers-5.15.0-35-lowlatency 5.15.0-35.36
linux-headers-5.15.0-35-generic 5.15.0-35.36
linux-headers-5.15.0-33-lowlatency 5.15.0-33.34
linux-headers-5.15.0-33-generic 5.15.0-33.34
linux-headers-5.15.0-30-lowlatency 5.15.0-30.31
linux-headers-5.15.0-30-generic 5.15.0-30.31
linux-headers-5.15.0-27-lowlatency 5.15.0-27.28
linux-headers-5.15.0-27-generic 5.15.0-27.28
linux-headers-5.15.0-1031-azure 5.15.0-1031.38
linux-headers-5.15.0-1030-azure 5.15.0-1030.37
linux-headers-5.15.0-1029-azure 5.15.0-1029.36
linux-headers-5.15.0-1028-aws 5.15.0-1028.32
linux-headers-5.15.0-1027-oracle 5.15.0-1027.33
linux-headers-5.15.0-1027-gcp 5.15.0-1027.34
linux-headers-5.15.0-1027-aws 5.15.0-1027.31
linux-headers-5.15.0-1026-oracle 5.15.0-1026.32
linux-headers-5.15.0-1026-kvm 5.15.0-1026.31
linux-headers-5.15.0-1026-gcp 5.15.0-1026.33
linux-headers-5.15.0-1026-aws 5.15.0-1026.30
linux-headers-5.15.0-1025-oracle 5.15.0-1025.31
linux-headers-5.15.0-1025-kvm 5.15.0-1025.30
linux-headers-5.15.0-1025-gcp 5.15.0-1025.32
linux-headers-5.15.0-1024-kvm 5.15.0-1024.29
linux-headers-5.15.0-1024-gke 5.15.0-1024.29
linux-headers-5.15.0-1024-azure 5.15.0-1024.30
linux-headers-5.15.0-1023-intel-iotg 5.15.0-1023.28
linux-headers-5.15.0-1023-ibm 5.15.0-1023.26
linux-headers-5.15.0-1023-gke 5.15.0-1023.28
linux-headers-5.15.0-1023-azure 5.15.0-1023.29
linux-headers-5.15.0-1023-aws 5.15.0-1023.27
linux-headers-5.15.0-1022-oracle 5.15.0-1022.28
linux-headers-5.15.0-1022-ibm 5.15.0-1022.25
linux-headers-5.15.0-1022-gcp 5.15.0-1022.29
linux-headers-5.15.0-1022-azure 5.15.0-1022.27
linux-headers-5.15.0-1022-aws 5.15.0-1022.26
linux-headers-5.15.0-1021-oracle 5.15.0-1021.27
linux-headers-5.15.0-1021-kvm 5.15.0-1021.26
linux-headers-5.15.0-1021-intel-iotg 5.15.0-1021.26
linux-headers-5.15.0-1021-ibm 5.15.0-1021.24
linux-headers-5.15.0-1021-gcp 5.15.0-1021.28
linux-headers-5.15.0-1021-azure 5.15.0-1021.26
linux-headers-5.15.0-1021-aws 5.15.0-1021.25
linux-headers-5.15.0-1020-kvm 5.15.0-1020.24
linux-headers-5.15.0-1020-gke 5.15.0-1020.25
linux-headers-5.15.0-1020-azure 5.15.0-1020.25
linux-headers-5.15.0-1020-aws 5.15.0-1020.24
linux-headers-5.15.0-1019-oracle 5.15.0-1019.24
linux-headers-5.15.0-1019-kvm 5.15.0-1019.23
linux-headers-5.15.0-1019-gke 5.15.0-1019.23
linux-headers-5.15.0-1019-gcp 5.15.0-1019.25
linux-headers-5.15.0-1019-azure 5.15.0-1019.24
linux-headers-5.15.0-1019-aws 5.15.0-1019.23
linux-headers-5.15.0-1018-oracle 5.15.0-1018.23
linux-headers-5.15.0-1018-kvm 5.15.0-1018.22
linux-headers-5.15.0-1018-intel-iotg 5.15.0-1018.23
linux-headers-5.15.0-1018-ibm 5.15.0-1018.21
linux-headers-5.15.0-1018-gcp 5.15.0-1018.24
linux-headers-5.15.0-1017-oracle 5.15.0-1017.22
linux-headers-5.15.0-1017-kvm 5.15.0-1017.21
linux-headers-5.15.0-1017-intel-iotg 5.15.0-1017.22
linux-headers-5.15.0-1017-ibm 5.15.0-1017.20
linux-headers-5.15.0-1017-gke 5.15.0-1017.20
linux-headers-5.15.0-1017-gcp 5.15.0-1017.23
linux-headers-5.15.0-1017-azure 5.15.0-1017.20
linux-headers-5.15.0-1017-aws 5.15.0-1017.21
linux-headers-5.15.0-1016-oracle 5.15.0-1016.20
linux-headers-5.15.0-1016-kvm 5.15.0-1016.19
linux-headers-5.15.0-1016-intel-iotg 5.15.0-1016.21
linux-headers-5.15.0-1016-gke 5.15.0-1016.19
linux-headers-5.15.0-1016-gcp 5.15.0-1016.21
linux-headers-5.15.0-1015-nvidia-lowlatency 5.15.0-1015.15
linux-headers-5.15.0-1015-nvidia 5.15.0-1015.15
linux-headers-5.15.0-1015-intel-iotg 5.15.0-1015.20
linux-headers-5.15.0-1015-ibm 5.15.0-1015.17
linux-headers-5.15.0-1015-gke 5.15.0-1015.18
linux-headers-5.15.0-1015-aws 5.15.0-1015.19
linux-headers-5.15.0-1014-gke 5.15.0-1014.17
linux-headers-5.15.0-1014-azure 5.15.0-1014.17
linux-headers-5.15.0-1014-aws 5.15.0-1014.18
linux-headers-5.15.0-1013-oracle 5.15.0-1013.17
linux-headers-5.15.0-1013-kvm 5.15.0-1013.16
linux-headers-5.15.0-1013-intel-iotg 5.15.0-1013.17
linux-headers-5.15.0-1013-ibm 5.15.0-1013.15
linux-headers-5.15.0-1013-gcp 5.15.0-1013.18
linux-headers-5.15.0-1013-azure 5.15.0-1013.16
linux-headers-5.15.0-1013-aws 5.15.0-1013.17
linux-headers-5.15.0-1012-kvm 5.15.0-1012.14
linux-headers-5.15.0-1012-ibm 5.15.0-1012.14
linux-headers-5.15.0-1012-azure 5.15.0-1012.15
linux-headers-5.15.0-1011-oracle 5.15.0-1011.15
linux-headers-5.15.0-1011-gke 5.15.0-1011.14
linux-headers-5.15.0-1011-aws 5.15.0-1011.14
linux-headers-5.15.0-1010-nvidia-lowlatency 5.15.0-1010.10
linux-headers-5.15.0-1010-nvidia 5.15.0-1010.10
linux-headers-5.15.0-1010-kvm 5.15.0-1010.11
linux-headers-5.15.0-1010-intel-iotg 5.15.0-1010.14
linux-headers-5.15.0-1010-ibm 5.15.0-1010.12
linux-headers-5.15.0-1010-gke 5.15.0-1010.13
linux-headers-5.15.0-1010-gcp 5.15.0-1010.15
linux-headers-5.15.0-1010-azure 5.15.0-1010.12
linux-headers-5.15.0-1009-oracle 5.15.0-1009.12
linux-headers-5.15.0-1009-ibm 5.15.0-1009.11
linux-headers-5.15.0-1009-aws 5.15.0-1009.11
linux-headers-5.15.0-1008-kvm 5.15.0-1008.8
linux-headers-5.15.0-1008-intel-iotg 5.15.0-1008.11
linux-headers-5.15.0-1008-gke 5.15.0-1008.10
linux-headers-5.15.0-1008-gcp 5.15.0-1008.12
linux-headers-5.15.0-1008-azure 5.15.0-1008.9
linux-headers-5.15.0-1008-aws 5.15.0-1008.10
linux-headers-5.15.0-1007-oracle 5.15.0-1007.9
linux-headers-5.15.0-1007-nvidia-lowlatency 5.15.0-1007.7
linux-headers-5.15.0-1007-nvidia 5.15.0-1007.7
linux-headers-5.15.0-1007-kvm 5.15.0-1007.7
linux-headers-5.15.0-1007-ibm 5.15.0-1007.8
linux-headers-5.15.0-1007-azure 5.15.0-1007.8
linux-headers-5.15.0-1006-oracle 5.15.0-1006.8
linux-headers-5.15.0-1006-gke 5.15.0-1006.7
linux-headers-5.15.0-1006-gcp 5.15.0-1006.9
linux-headers-5.15.0-1005-nvidia 5.15.0-1005.5
linux-headers-5.15.0-1005-kvm 5.15.0-1005.5
linux-headers-5.15.0-1005-ibm 5.15.0-1005.5
linux-headers-5.15.0-1005-gke 5.15.0-1005.6
linux-headers-5.15.0-1005-gcp 5.15.0-1005.8
linux-headers-5.15.0-1005-azure 5.15.0-1005.6
linux-headers-5.15.0-1005-aws 5.15.0-1005.7
linux-headers-5.15.0-1004-ibm 5.15.0-1004.4
linux-headers-5.15.0-1004-gke 5.15.0-1004.5
linux-headers-5.15.0-1004-gcp 5.15.0-1004.7
linux-headers-5.15.0-1003-oracle 5.15.0-1003.5
linux-headers-5.15.0-1003-ibm 5.15.0-1003.3
linux-headers-5.15.0-1003-gke 5.15.0-1003.3
linux-headers-5.17.0-1003-oem 5.17.0-1003.3
linux-headers-5.15.0-25-generic 5.15.0-25.25
linux-headers-5.15.0-24-lowlatency 5.15.0-24.24
linux-headers-5.15.0-1004-kvm 5.15.0-1004.4
linux-headers-5.15.0-1004-intel-iotg 5.15.0-1004.6
linux-headers-5.15.0-1004-aws 5.15.0-1004.6
linux-headers-5.15.0-1003-gcp 5.15.0-1003.6
linux-headers-5.15.0-1003-azure 5.15.0-1003.4
linux-headers-5.15.0-1002-oracle 5.15.0-1002.4
linux-headers-5.15.0-1002-ibm 5.15.0-1002.2
linux-headers-5.15.0-1002-gke 5.15.0-1002.2
You should explicitly select one to install.
E: Package 'linux-headers' has no installation candidate
--- NEW ERROR after using sudo apt-get install linux-headers-5.15.0-58-generic
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
libc6-dev : Depends: linux-libc-dev but it is not going to be installed
linux-headers-5.15.0-58-generic : Depends: linux-headers-5.15.0-58 but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

How to extract function names from a library / binary

I have a library with debug symbols, and I do the following to extract function names:
$ objdump -S -D library_name.so > library_name.asm
$ grep -rn ">:" library_name.asm
This gives me what I want:
3101:0000000000002190 <memset#plt>:
3106:00000000000021a0 <close#plt>:
but seems a bit awkward ... Is there a better way to achieve this?
I think the utility you're looking for is nm:
It collects all the symbols, both static and dynamic, defined in a library or any ELF file.
The output looks like this:
000000ec T main
000003f0 a REG_HID0
000003f1 a REG_HID1
00000ec4 T RSA_bigint_add
000009e0 T RSA_bigint_clear
00000a0c T RSA_bigint_cmp
00000dd8 T RSA_bigint_gen
00000aa4 T RSA_bigint_get_bitlength
000010f4 T RSA_bigint_intmul
00000c20 T RSA_bigint_lshift
00001330 T RSA_bigint_mod
00001470 T RSA_bigint_modexp
0000142c T RSA_bigint_modmul
0000120c T RSA_bigint_mul
00000aec T RSA_bigint_rshift
00001024 T RSA_bigint_sub
00000238 T RSA_check_data_with_certificate
00000180 T RSA_check_signature
000002d0 T RSA_x509_get_field
000003a4 T RSA_x509_get_int
000008f8 T RSA_x509_parse_certificate
0000042c T RSA_x509_parse_PKI
000007d8 T RSA_x509_parse_signature
0000057c T RSA_x509_parse_tbscertificate

Autotool automake output executable filename with version

I'm trying to add to the output executable filename of a autotool project the version number.
With libs is very simple: you can add -version-info option to Makefile.am
How can I do the same thing with bin_PROGRAMS
So far I tried:
HELLO_VERSION_CURRENT = 1
HELLO_VERSION_REVISION = 2
HELLO_VERSION_AGE = 1
bin_PROGRAMS = hello_${HELLO_VERSION_CURRENT}_${HELLO_VERSION_REVISION}_${HELLO_VERSION_AGE}
hello_SOURCES = hello.c
In this way it doesn't compile because of SOURCES must be: hello_1_2_1_SOURCES, but I don't know how to tell to automake that.
Another way could be to run a post-build script: how can I add post-build action to Makefile.am?
How about using some preset autoconf output variables in your Makefile.am:
bin_PROGRAMS = hello_#PACKAGE_VERSION#
hello_#PACKAGE_VERSION#_SOURCES = hello.c
The preceding works for me on Darwin with autoconf v2.69 and automake v1.15.
Using the PACKAGE_VERSION from within your source code is even easier: #include "config.h", that's where all the autoconf output variables are #defined. E.g.:
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
...
#define PACKAGE_VERSION "1.2.3-rc-whatever"
Reference:
https://www.gnu.org/software/autoconf/manual/autoconf#Output-Variable-Index
You can do it like this:
HELLO_VERSION_CURRENT = 1
HELLO_VERSION_REVISION = 2
HELLO_VERSION_AGE = 1
bin_PROGRAMS = hello_$(HELLO_VERSION_CURRENT)_$(HELLO_VERSION_REVISION)_$(HELLO_VERSION_AGE)
hello_$(HELLO_VERSION_CURRENT)_$(HELLO_VERSION_REVISION)_$(HELLO_VERSION_AGE)_SOURCES = hello.c
Although, in that case, I'd suggest making shorter variable names...
At the end I add the following to my Makefile.am
all:
cp ./.libs/hello ./.libs/hello_${HELLO_VERSION_CURRENT}_${HELLO_VERSION_REVISION}_${HELLO_VERSION_AGE}
EDIT
I found a new solution
HELLO_VERSION_CURRENT = 1
HELLO_VERSION_REVISION = 2
HELLO_VERSION_AGE = 1
bin_PROGRAMS = hello_$(HELLO_VERSION_CURRENT)_$(HELLO_VERSION_REVISION)_$(HELLO_VERSION_AGE)
hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__SOURCES = hello.c
hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__CFLAGS =
hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__LDFLAGS =
AM_CFLAGS = #hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__CFLAGS#
AM_LDFLAGS = #hello___HELLO_VERSION_CURRENT____HELLO_VERSION_REVISION____HELLO_VERSION_AGE__LDFLAGS#
CLEANFILES = *~

Getting compilation error for libcurl

I am trying to compile libcurl with Openssl & SSH2 (manually built). Here is my configure command:
./configure --with-ssl=/home/yuvi/development/openssl --with-libssh2=/home/yuvi/development/ssh --enable-debug --prefix=/home/yuvi/development/curl CPPFLAGS="-I/home/yuvi/development/openssl/include -I/home/yuvi/development/ssh/include" LDFLAGS="-L/home/yuvi/development/openssl/lib -L/home/yuvi/development/ssh/lib" PKG_CONFIG_PATH=/home/yuvi/development/openssl/lib/pkgconfig:/home/yuvi/development/ssh/lib/pkgconfig LIBS="-lssl -lssh2 -lcrypto"
And following error I am getting while libtool phase :
libtool: link: gcc -shared -fPIC -DPIC .libs/file.o .libs/timeval.o .libs/base64.o .libs/hostip.o .libs/progress.o .libs/formdata.o .libs/cookie.o .libs/http.o .libs/sendf.o .libs/ftp.o .libs/url.o .libs/dict.o .libs/if2ip.o .libs/speedcheck.o .libs/ldap.o .libs/ssluse.o .libs/version.o .libs/getenv.o .libs/escape.o .libs/mprintf.o .libs/telnet.o .libs/netrc.o .libs/getinfo.o .libs/transfer.o .libs/strequal.o .libs/easy.o .libs/security.o .libs/krb4.o .libs/curl_fnmatch.o .libs/fileinfo.o .libs/ftplistparser.o .libs/wildcard.o .libs/krb5.o .libs/memdebug.o .libs/http_chunks.o .libs/strtok.o .libs/connect.o .libs/llist.o .libs/hash.o .libs/multi.o .libs/content_encoding.o .libs/share.o .libs/http_digest.o .libs/md4.o .libs/md5.o .libs/curl_rand.o .libs/http_negotiate.o .libs/inet_pton.o .libs/strtoofft.o .libs/strerror.o .libs/hostasyn.o .libs/hostip4.o .libs/hostip6.o .libs/hostsyn.o .libs/inet_ntop.o .libs/parsedate.o .libs/select.o .libs/gtls.o .libs/sslgen.o .libs/tftp.o .libs/splay.o .libs/strdup.o .libs/socks.o .libs/ssh.o .libs/nss.o .libs/qssl.o .libs/rawstr.o .libs/curl_addrinfo.o .libs/socks_gssapi.o .libs/socks_sspi.o .libs/curl_sspi.o .libs/slist.o .libs/nonblock.o .libs/curl_memrchr.o .libs/imap.o .libs/pop3.o .libs/smtp.o .libs/pingpong.o .libs/rtsp.o .libs/curl_threads.o .libs/warnless.o .libs/hmac.o .libs/polarssl.o .libs/curl_rtmp.o .libs/openldap.o .libs/curl_gethostname.o .libs/gopher.o .libs/axtls.o .libs/idn_win32.o .libs/http_negotiate_sspi.o .libs/cyassl.o .libs/http_proxy.o .libs/non-ascii.o .libs/asyn-ares.o .libs/asyn-thread.o .libs/curl_gssapi.o .libs/curl_ntlm.o .libs/curl_ntlm_wb.o .libs/curl_ntlm_core.o .libs/curl_ntlm_msgs.o -Wl,-rpath -Wl,/home/yuvi/development/ssh/lib -Wl,-rpath -Wl,/home/yuvi/development/ssh/lib -L/home/yuvi/development/openssl/lib -L/home/yuvi/development/ssh/lib -lrt -lz -lssl /home/yuvi/development/ssh/lib/libssh2.so -lcrypto -O0 -Wl,-soname -Wl,libcurl.so.4 -o .libs/libcurl.so.4.2.0
/usr/bin/ld: /home/yuvi/development/openssl/lib/libssl.a(s2_clnt.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/home/yuvi/development/openssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libcurl.la] Error 1
make[2]: Leaving directory `/home/yuvi/development/curl-7.24.0/lib'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/yuvi/development/curl-7.24.0/lib'
make: *** [all-recursive] Error 1
Could anyone please help me out? What am I missing?
You need to recompile your /home/yuvi/development/openssl/lib/libssl.a with -fPIC

Visual Studio 2005 always relinks the project when the project is generated with CMake

I have a project in Visual 2005 generated using CMake, and everytime I press F5 the linker relinks the objects, even if no modification was done. I have read other questions with similar problems, but the solution for them was:
The time of the windows was wrong. It was making the executable to be created with the time in the future. Or
The PDB created by the linker and by the compiler had the same name.
I've checked that and I don't have that problem. Also, I have another solution for the project (that was not generated by CMake) and it works fine. I've checked the properties of each project and they are similar.
This is the output generated in the BuildLog.htm:
Build Log
Build started: Project: remote4, Configuration: TTecDebug|Win32
Command Lines
Creating temporary file
"c:\advtec9\trunk\bin_sem_unittest\remote4\remote4.dir\TTecDebug\RSP00008649325832.rsp"
with contents [
/OUT:"c:\T\bin\smartclient\TTecDebug..\TSmartClient.exe" /VERSION:0.0
/LIBPATH:"C:\Qt4\lib\TTecDebug" /LIBPATH:"C:\Qt4\lib"
/LIBPATH:"C:\Qt4\plugins\imageformats\TTecDebug"
/LIBPATH:"C:\Qt4\plugins\imageformats"
/LIBPATH:"C:\Qt4\plugins\accessible\TTecDebug"
/LIBPATH:"C:\Qt4\plugins\accessible"
/LIBPATH:"C:\kdchart4\lib\TTecDebug" /LIBPATH:"C:\kdchart4\lib"
/MANIFEST:NO /NODEFAULTLIB:"LIBCMT" /DEBUG
/PDB:"c:\T\bin\smartclient\TTecDebug/../TSmartClient.pdb"
/SUBSYSTEM:WINDOWS
/IMPLIB:"c:\T\bin\smartclient\TTecDebug..\TSmartClient.lib"
/machine:X86 /ignore:4217 /ignore:4049 /debug
/LIBPATH:C:/advtec9/trunk/openssl/debug kdchartd.lib qtmaind.lib
QtCored.lib QtGuid.lib Qt3Supportd.lib QtXmld.lib qtsvgd.lib
QtNetworkd.lib QAxServerd.lib QAxContainerd.lib qgifd.lib qjpegd.lib
qtaccessiblecompatwidgetsd.lib qtaccessiblewidgetsd.lib
C:/advtec9/trunk/senhap/splogin4d.lib kernel32.lib user32.lib
gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
comdlg32.lib advapi32.lib ssleay32.lib libeay32.lib mpr.lib imm32.lib
winmm.lib ws2_32.lib msimg32.lib odbc32.lib odbccp32.lib
..\lib_comm\TTecDebug\lib_comm.lib
..\lib_getsys\TTecDebug\lib_getsys.lib
c:\T\bin\smartclient\TTecDebug..\singlesign.lib
..\lib_graphicprint\TTecDebug\lib_graphicprint.lib
..\lib\TTecDebug\lib.lib ..\lib_base\TTecDebug\lib_base.lib
..\lib_gzip\TTecDebug\lib_gzip.lib ..\web\TTecDebug\web.lib
..\third_libraries\engine_pkcs11\TTecDebug\engine_pkcs11.lib
..\third_libraries\libp11\TTecDebug\libp11.lib dbghelp.lib
".\remote4.dir\TTecDebug\main.obj"
".\remote4.dir\TTecDebug\apcombase.obj"
".\remote4.dir\TTecDebug\apexcel.obj"
".\remote4.dir\TTecDebug\approject.obj"
".\remote4.dir\TTecDebug\apword.obj"
".\remote4.dir\TTecDebug\calc.obj"
".\remote4.dir\TTecDebug\calend4.obj"
".\remote4.dir\TTecDebug\config_client.obj"
".\remote4.dir\TTecDebug\execinclient.obj"
".\remote4.dir\TTecDebug\fjs_comps_base.obj"
".\remote4.dir\TTecDebug\t4jsaction.obj"
".\remote4.dir\TTecDebug\t4jsapplication.obj"
".\remote4.dir\TTecDebug\t4jsbitmap.obj"
".\remote4.dir\TTecDebug\t4jsdisplay.obj"
".\remote4.dir\TTecDebug\t4jsdisplayarray.obj"
".\remote4.dir\TTecDebug\t4jsexpandedinput.obj"
".\remote4.dir\TTecDebug\t4jsform.obj"
".\remote4.dir\TTecDebug\t4jshelpwindow.obj"
".\remote4.dir\TTecDebug\t4jsinput.obj"
".\remote4.dir\TTecDebug\t4jsinputarray.obj"
".\remote4.dir\TTecDebug\t4jsinputcheck.obj"
".\remote4.dir\TTecDebug\t4jsinputfieldbmp.obj"
".\remote4.dir\TTecDebug\t4jsinputimage.obj"
".\remote4.dir\TTecDebug\t4jsinputradio.obj"
".\remote4.dir\TTecDebug\t4jsinputtext.obj"
".\remote4.dir\TTecDebug\t4jsmainwindow.obj"
".\remote4.dir\TTecDebug\t4jsmenu.obj"
".\remote4.dir\TTecDebug\t4jsmessagebox.obj"
".\remote4.dir\TTecDebug\t4jsmultilineinputtext.obj"
".\remote4.dir\TTecDebug\t4jspromptinput.obj"
".\remote4.dir\TTecDebug\t4jstoolbar.obj"
".\remote4.dir\TTecDebug\t4jswaitwindow.obj"
".\remote4.dir\TTecDebug\t4jswindow.obj"
".\remote4.dir\TTecDebug\qtcolortriangle.obj"
".\remote4.dir\TTecDebug\qtsingleapplication.obj"
".\remote4.dir\TTecDebug\remote_utils.obj"
".\remote4.dir\TTecDebug\rmtcli.obj"
".\remote4.dir\TTecDebug\signfunctions.obj"
".\remote4.dir\TTecDebug\talignlayout.obj"
".\remote4.dir\TTecDebug\tapplication.obj"
".\remote4.dir\TTecDebug\tbitmap.obj"
".\remote4.dir\TTecDebug\tbrowsebutton.obj"
".\remote4.dir\TTecDebug\tbtnbmp.obj"
".\remote4.dir\TTecDebug\tbutton.obj"
".\remote4.dir\TTecDebug\crazychrs.obj"
".\remote4.dir\TTecDebug\parserext.obj"
".\remote4.dir\TTecDebug\Tprinter.obj"
".\remote4.dir\TTecDebug\Tprinterfonts.obj"
".\remote4.dir\TTecDebug\ttpviewer.obj"
".\remote4.dir\TTecDebug\tcbrowse.obj"
".\remote4.dir\TTecDebug\tchartwin.obj"
".\remote4.dir\TTecDebug\tcheckbox.obj"
".\remote4.dir\TTecDebug\tcombobox.obj"
".\remote4.dir\TTecDebug\tcomponentfactory.obj"
".\remote4.dir\TTecDebug\tconnection.obj"
".\remote4.dir\TTecDebug\tconnectionsocket.obj"
".\remote4.dir\TTecDebug\tcontrol.obj"
".\remote4.dir\TTecDebug\tcorretor.obj"
".\remote4.dir\TTecDebug\tcreateinifiledialog.obj"
".\remote4.dir\TTecDebug\tdgcanvas.obj"
".\remote4.dir\TTecDebug\tdgcanvasitem.obj"
".\remote4.dir\TTecDebug\tdgcanvasview.obj"
".\remote4.dir\TTecDebug\tdgconnectorabs.obj"
".\remote4.dir\TTecDebug\tdgconnectorline.obj"
".\remote4.dir\TTecDebug\tdgconnectorpoly.obj"
".\remote4.dir\TTecDebug\tdgdocument.obj"
".\remote4.dir\TTecDebug\tdgeditor.obj"
".\remote4.dir\TTecDebug\tdgrule.obj"
".\remote4.dir\TTecDebug\tdgselectionbox.obj"
".\remote4.dir\TTecDebug\tdgshape.obj"
".\remote4.dir\TTecDebug\tdgshapeabs.obj"
".\remote4.dir\TTecDebug\tdgshapebox.obj"
".\remote4.dir\TTecDebug\tdgshapeicon.obj"
".\remote4.dir\TTecDebug\tdgundolog.obj"
".\remote4.dir\TTecDebug\tdgviewer.obj"
".\remote4.dir\TTecDebug\tdialog.obj"
".\remote4.dir\TTecDebug\teventbuffer.obj"
".\remote4.dir\TTecDebug\tfileman.obj"
".\remote4.dir\TTecDebug\tfolder.obj"
".\remote4.dir\TTecDebug\tget.obj"
".\remote4.dir\TTecDebug\tgetdados.obj"
".\remote4.dir\TTecDebug\tgraphicprint_client.obj"
".\remote4.dir\TTecDebug\tgroupbox.obj"
".\remote4.dir\TTecDebug\tguicommand.obj"
".\remote4.dir\TTecDebug\thelpbaloon.obj"
".\remote4.dir\TTecDebug\thelpdialog.obj"
".\remote4.dir\TTecDebug\thotkeys.obj"
".\remote4.dir\TTecDebug\tibrowser.obj"
".\remote4.dir\TTecDebug\tinifile_client.obj"
".\remote4.dir\TTecDebug\tlibmanager.obj"
".\remote4.dir\TTecDebug\tlistbox.obj"
".\remote4.dir\TTecDebug\tlocallog.obj"
".\remote4.dir\TTecDebug\tmenu.obj"
".\remote4.dir\TTecDebug\tmenubar.obj"
".\remote4.dir\TTecDebug\tmenupopup.obj"
".\remote4.dir\TTecDebug\tmessage.obj"
".\remote4.dir\TTecDebug\tmessagebar.obj"
".\remote4.dir\TTecDebug\tmessagebox.obj"
".\remote4.dir\TTecDebug\tmessagehook.obj"
".\remote4.dir\TTecDebug\tmeter.obj"
".\remote4.dir\TTecDebug\tmodaldialog.obj"
".\remote4.dir\TTecDebug\tmscalendar.obj"
".\remote4.dir\TTecDebug\tmscalendgrid.obj"
".\remote4.dir\TTecDebug\tmsgrun.obj"
".\remote4.dir\TTecDebug\tmsselbr.obj"
".\remote4.dir\TTecDebug\tmultiget.obj"
".\remote4.dir\TTecDebug\tnanfor.obj"
".\remote4.dir\TTecDebug\tobjecthook.obj"
".\remote4.dir\TTecDebug\tolecontainer.obj"
".\remote4.dir\TTecDebug\tpageview.obj"
".\remote4.dir\TTecDebug\tpanel.obj"
".\remote4.dir\TTecDebug\tparametersform.obj"
".\remote4.dir\TTecDebug\tprinterhook.obj"
".\remote4.dir\TTecDebug\tprinterspool.obj"
".\remote4.dir\TTecDebug\tradiobutton.obj"
".\remote4.dir\TTecDebug\trashook.obj"
".\remote4.dir\TTecDebug\tremoteopensave.obj"
".\remote4.dir\TTecDebug\treportprinter.obj"
".\remote4.dir\TTecDebug\tresourcemanager.obj"
".\remote4.dir\TTecDebug\tsay.obj"
".\remote4.dir\TTecDebug\tsbutton.obj"
".\remote4.dir\TTecDebug\tscrollbox.obj"
".\remote4.dir\TTecDebug\tsplash.obj"
".\remote4.dir\TTecDebug\ttab.obj"
".\remote4.dir\TTecDebug\tterminal.obj"
".\remote4.dir\TTecDebug\tterminalupd.obj"
".\remote4.dir\TTecDebug\ttimer.obj"
".\remote4.dir\TTecDebug\ttoolbar.obj"
".\remote4.dir\TTecDebug\ttree.obj"
".\remote4.dir\TTecDebug\tvalue.obj"
".\remote4.dir\TTecDebug\tverticalscrollbar.obj"
".\remote4.dir\TTecDebug\twindow.obj"
".\remote4.dir\TTecDebug\tworkspace.obj"
".\remote4.dir\TTecDebug\tworkspacefolder.obj"
".\remote4.dir\TTecDebug\tworktime.obj"
".\remote4.dir\TTecDebug\waitrun.obj"
".\remote4.dir\TTecDebug\tgrid.obj"
".\remote4.dir\TTecDebug\httpclient.obj"
".\remote4.dir\TTecDebug\tpaintpanel.obj"
".\remote4.dir\TTecDebug\ttimerhook.obj"
".\remote4.dir\TTecDebug\qtsingleapplication_win.obj"
".\remote4.dir\TTecDebug\rational_robot.obj"
".\remote4.dir\TTecDebug\remote41.res"
".\remote4.dir\TTecDebug\qrc_remote4.obj"
".\remote4.dir\TTecDebug\moc_calc.obj"
".\remote4.dir\TTecDebug\moc_calend4.obj"
".\remote4.dir\TTecDebug\moc_t4jsaction.obj"
".\remote4.dir\TTecDebug\moc_t4jsapplication.obj"
".\remote4.dir\TTecDebug\moc_t4jsdisplayarray.obj"
".\remote4.dir\TTecDebug\moc_t4jsexpandedinput.obj"
".\remote4.dir\TTecDebug\moc_t4jsform.obj"
".\remote4.dir\TTecDebug\moc_t4jshelpwindow.obj"
".\remote4.dir\TTecDebug\moc_t4jsinput.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputarray.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputcheck.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputfieldbmp.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputimage.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputradio.obj"
".\remote4.dir\TTecDebug\moc_t4jsinputtext.obj"
".\remote4.dir\TTecDebug\moc_t4jsmainwindow.obj"
".\remote4.dir\TTecDebug\moc_t4jsmenu.obj"
".\remote4.dir\TTecDebug\moc_t4jsmessagebox.obj"
".\remote4.dir\TTecDebug\moc_t4jsmultilineinputtext.obj"
".\remote4.dir\TTecDebug\moc_t4jspromptinput.obj"
".\remote4.dir\TTecDebug\moc_t4jstoolbar.obj"
".\remote4.dir\TTecDebug\moc_t4jswindow.obj"
".\remote4.dir\TTecDebug\moc_qtcolortriangle.obj"
".\remote4.dir\TTecDebug\moc_qtsingleapplication.obj"
".\remote4.dir\TTecDebug\moc_talignlayout.obj"
".\remote4.dir\TTecDebug\moc_tapplication.obj"
".\remote4.dir\TTecDebug\moc_tbitmap.obj"
".\remote4.dir\TTecDebug\moc_tbtnbmp.obj"
".\remote4.dir\TTecDebug\moc_tbutton.obj"
".\remote4.dir\TTecDebug\moc_Tprinter.obj"
".\remote4.dir\TTecDebug\moc_tcbrowse.obj"
".\remote4.dir\TTecDebug\moc_tchartwin.obj"
".\remote4.dir\TTecDebug\moc_tcheckbox.obj"
".\remote4.dir\TTecDebug\moc_tcombobox.obj"
".\remote4.dir\TTecDebug\moc_tcontrol.obj"
".\remote4.dir\TTecDebug\moc_tcorretor.obj"
".\remote4.dir\TTecDebug\moc_tcreateinifiledialog.obj"
".\remote4.dir\TTecDebug\moc_tdgcanvasview.obj"
".\remote4.dir\TTecDebug\moc_tdgconnectorline.obj"
".\remote4.dir\TTecDebug\moc_tdgdocument.obj"
".\remote4.dir\TTecDebug\moc_tdgeditor.obj"
".\remote4.dir\TTecDebug\moc_tdgrule.obj"
".\remote4.dir\TTecDebug\moc_tdgshape.obj"
".\remote4.dir\TTecDebug\moc_tdgshapebox.obj"
".\remote4.dir\TTecDebug\moc_tdgshapeicon.obj"
".\remote4.dir\TTecDebug\moc_tdgviewer.obj"
".\remote4.dir\TTecDebug\moc_tdialog.obj"
".\remote4.dir\TTecDebug\moc_tfolder.obj"
".\remote4.dir\TTecDebug\moc_tget.obj"
".\remote4.dir\TTecDebug\moc_tgetdados.obj"
".\remote4.dir\TTecDebug\moc_tguicommand.obj"
".\remote4.dir\TTecDebug\moc_thelpbaloon.obj"
".\remote4.dir\TTecDebug\moc_thelpdialog.obj"
".\remote4.dir\TTecDebug\moc_tlistbox.obj"
".\remote4.dir\TTecDebug\moc_tmenu.obj"
".\remote4.dir\TTecDebug\moc_tmenupopup.obj"
".\remote4.dir\TTecDebug\moc_tmessagebar.obj"
".\remote4.dir\TTecDebug\moc_tmessagebox.obj"
".\remote4.dir\TTecDebug\moc_tmodaldialog.obj"
".\remote4.dir\TTecDebug\moc_tmscalendar.obj"
".\remote4.dir\TTecDebug\moc_tmscalendgrid.obj"
".\remote4.dir\TTecDebug\moc_tmsselbr.obj"
".\remote4.dir\TTecDebug\moc_tmultiget.obj"
".\remote4.dir\TTecDebug\moc_tobjecthook.obj"
".\remote4.dir\TTecDebug\moc_tolecontainer.obj"
".\remote4.dir\TTecDebug\moc_tpageview.obj"
".\remote4.dir\TTecDebug\moc_tpanel.obj"
".\remote4.dir\TTecDebug\moc_tparametersform.obj"
".\remote4.dir\TTecDebug\moc_tprinterhook.obj"
".\remote4.dir\TTecDebug\moc_tprinterspool.obj"
".\remote4.dir\TTecDebug\moc_tradiobutton.obj"
".\remote4.dir\TTecDebug\moc_tremoteopensave.obj"
".\remote4.dir\TTecDebug\moc_treportprinter.obj"
".\remote4.dir\TTecDebug\moc_tresourcemanager.obj"
".\remote4.dir\TTecDebug\moc_tsay.obj"
".\remote4.dir\TTecDebug\moc_tscrollbox.obj"
".\remote4.dir\TTecDebug\moc_ttab.obj"
".\remote4.dir\TTecDebug\moc_tterminal.obj"
".\remote4.dir\TTecDebug\moc_ttoolbar.obj"
".\remote4.dir\TTecDebug\moc_ttree.obj"
".\remote4.dir\TTecDebug\moc_tverticalscrollbar.obj"
".\remote4.dir\TTecDebug\moc_twindow.obj"
".\remote4.dir\TTecDebug\moc_tworkspace.obj"
".\remote4.dir\TTecDebug\moc_tworkspacefolder.obj"
".\remote4.dir\TTecDebug\moc_tworktime.obj"
".\remote4.dir\TTecDebug\moc_tgrid.obj"
".\remote4.dir\TTecDebug\moc_httpclient.obj"
".\remote4.dir\TTecDebug\moc_tpaintpanel.obj"
".\remote4.dir\TTecDebug\moc_ttimerhook.obj"
".\remote4.dir\TTecDebug\moc_splogin.obj" ] Creating command line
"link.exe
#c:\advtec9\trunk\bin_sem_unittest\remote4\remote4.dir\TTecDebug\RSP00008649325832.rsp
/NOLOGO /ERRORREPORT:PROMPT"
Output Window
Linking...
Results
Build log was saved at
"file://c:\advtec9\trunk\bin_sem_unittest\remote4\remote4.dir\TTecDebug\BuildLog.htm"
remote4 - 0 error(s), 0 warning(s)
I've (finally!) found out what my problem was.
I have a project with some sub-directories. In the CMakeLists.txt of each subdirectory, I was defining a project name (with the command project() ). This was causing visual studio to behave like that.
When I removed the project() of the sub_directories the problem was solved.

Resources