[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problem linking the Class++ example with Conan and CMake
From: |
Wouter Beek |
Subject: |
Problem linking the Class++ example with Conan and CMake |
Date: |
Sun, 30 Jun 2019 18:45:15 +0200 |
Hi,
I'm trying to build the example calc++ program with Conan and CMake:
https://github.com/wouterbeek/conan-cmake-bison-flex
The promise of Conan and CMake is that one could ultimately build a
Flex/Bison program on multiple platforms, which is more difficult with
traditional build systems.
Unfortunately, I'm currently stuck at the linking phase (see the
output below). Does anybody know what I'm doing wrong / how to
proceed?
PS: The Calc++ example seems to be partially missing from Git master.
Is this intentional?
---
Cheers,
Woter.
```
$ cmake --build . -- VERBOSE=1
/usr/bin/cmake -S/home/wbeek/tmp/calc++ -B/home/wbeek/tmp/calc++/Debug
--check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start
/home/wbeek/tmp/calc++/Debug/CMakeFiles
/home/wbeek/tmp/calc++/Debug/CMakeFiles/progress.marks
/usr/bin/gmake -f CMakeFiles/Makefile2 all
gmake[1]: Entering directory '/home/wbeek/tmp/calc++/Debug'
/usr/bin/gmake -f CMakeFiles/calc++.dir/build.make CMakeFiles/calc++.dir/depend
gmake[2]: Entering directory '/home/wbeek/tmp/calc++/Debug'
[ 16%] [FLEX][lexer] Building scanner with flex 2.6.4
cd /home/wbeek/tmp/calc++ && /usr/bin/flex
-o/home/wbeek/tmp/calc++/Debug/Lexer.cpp
/home/wbeek/tmp/calc++/Lexer.ll
[ 33%] [BISON][parser] Building parser with bison 3.3.2
/home/wbeek/.conan/data/bison/3.3.2/bincrafters/stable/package/7e924ee4fb46c796a19516dcf956dd2bc0171a91/bin/bison
--defines=/home/wbeek/tmp/calc++/Debug/Parser.hpp -o
/home/wbeek/tmp/calc++/Debug/Parser.cpp
/home/wbeek/tmp/calc++/Parser.yy
cd /home/wbeek/tmp/calc++/Debug && /usr/bin/cmake -E cmake_depends
"Unix Makefiles" /home/wbeek/tmp/calc++ /home/wbeek/tmp/calc++
/home/wbeek/tmp/calc++/Debug /home/wbeek/tmp/calc++/Debug
/home/wbeek/tmp/calc++/Debug/CMakeFiles/calc++.dir/DependInfo.cmake
--color=
Dependee "/home/wbeek/tmp/calc++/Debug/CMakeFiles/calc++.dir/DependInfo.cmake"
is newer than depender
"/home/wbeek/tmp/calc++/Debug/CMakeFiles/calc++.dir/depend.internal".
Dependee
"/home/wbeek/tmp/calc++/Debug/CMakeFiles/CMakeDirectoryInformation.cmake"
is newer than depender
"/home/wbeek/tmp/calc++/Debug/CMakeFiles/calc++.dir/depend.internal".
Scanning dependencies of target calc++
gmake[2]: Leaving directory '/home/wbeek/tmp/calc++/Debug'
/usr/bin/gmake -f CMakeFiles/calc++.dir/build.make CMakeFiles/calc++.dir/build
gmake[2]: Entering directory '/home/wbeek/tmp/calc++/Debug'
[ 50%] Building CXX object CMakeFiles/calc++.dir/Driver.cpp.o
/usr/bin/c++ -I/home/wbeek/tmp/calc++/Debug -I/home/wbeek/tmp/calc++
-g -o CMakeFiles/calc++.dir/Driver.cpp.o -c
/home/wbeek/tmp/calc++/Driver.cpp
[ 66%] Building CXX object CMakeFiles/calc++.dir/Parser.cpp.o
/usr/bin/c++ -I/home/wbeek/tmp/calc++/Debug -I/home/wbeek/tmp/calc++
-g -o CMakeFiles/calc++.dir/Parser.cpp.o -c
/home/wbeek/tmp/calc++/Debug/Parser.cpp
[ 83%] Building CXX object CMakeFiles/calc++.dir/Lexer.cpp.o
/usr/bin/c++ -I/home/wbeek/tmp/calc++/Debug -I/home/wbeek/tmp/calc++
-g -o CMakeFiles/calc++.dir/Lexer.cpp.o -c
/home/wbeek/tmp/calc++/Debug/Lexer.cpp
[100%] Linking CXX executable bin/calc++
/usr/bin/cmake -E cmake_link_script CMakeFiles/calc++.dir/link.txt --verbose=1
/usr/bin/c++ -g CMakeFiles/calc++.dir/Driver.cpp.o
CMakeFiles/calc++.dir/Parser.cpp.o CMakeFiles/calc++.dir/Lexer.cpp.o
-o bin/calc++
/home/wbeek/.conan/data/flex/2.6.4/bincrafters/stable/package/7e924ee4fb46c796a19516dcf956dd2bc0171a91/lib/libfl.a
/usr/bin/ld:
/home/wbeek/.conan/data/flex/2.6.4/bincrafters/stable/package/7e924ee4fb46c796a19516dcf956dd2bc0171a91/lib/libfl.a(libmain.o):
in function `main':
/home/wbeek/.conan/data/flex/2.6.4/bincrafters/stable/build/7e924ee4fb46c796a19516dcf956dd2bc0171a91/source_subfolder/src/libmain.c:33:
undefined reference to `yylex'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/calc++.dir/build.make:127: bin/calc++] Error 1
gmake[2]: Leaving directory '/home/wbeek/tmp/calc++/Debug'
gmake[1]: *** [CMakeFiles/Makefile2:73: CMakeFiles/calc++.dir/all] Error 2
gmake[1]: Leaving directory '/home/wbeek/tmp/calc++/Debug'
gmake: *** [Makefile:84: all] Error 2
```
---
Best regards,
Wouter Beek.
Email: address@hidden
WWW: https://triply.cc
Tel: +31647674624
- Problem linking the Class++ example with Conan and CMake,
Wouter Beek <=