On 26/11/2017 12:42, Roger Mason wrote:
Hello, Thierry Banel <tbanelweb...@free.fr> writes:On 25/11/2017 15:59, Roger Mason wrote:This code compiles fine on command line but org-babel can't link it. #+BEGIN_SRC C++ :flags "-std=c++11 -I/usr/local/include" :libs "-L/usr/local/lib -lginac" #include <iostream> #include <ginac/ginac.h> using namespace std; using namespace GiNaC; int main () { symbol a("a"), b("b"), x("x"), y("y"); lst eqns, vars; eqns = a*x+b*y==3, x-y==b; vars = x, y; cout << lsolve(eqns, vars) << endl; // -> {x==(3+b^2)/(b+a),y==(3-b*a)/(b+a) return 0; } #+END_SRC The error buffer contains many lines like this: /tmp//ccv5YYn1.o: In function `main': C-src-1046xti.cpp:(.text+0x67): undefined reference to `GiNaC::symbol::symbol(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'I get the correct result: #+RESULTS: | {x==(3+b^2)*(a+b)^(-1) | y==-(-3+a*b)*(a+b)^(-1)} | I use Or mode version 9.1.1I just upgraded to Org mode version 9.1.3 (release_9.1.3-185-g579fa1 @ /home/rmason/.emacs.d/org-git/lisp/) and I'm still getting the link error. Cheers, Roger You may try to mimic org-babel in a shell, and see what happens. cd /tmp/babel-29466ws7 g++ -std=c++11 -I/usr/local/include C-src-29466moy.cpp -L/usr/local/lib -lginac (of course you need to change the random names like babel-29466ws7 by the actual ones as generated on your system). |
- [O] C++ code block not linked Roger Mason
- Re: [O] C++ code block not linked Thierry Banel
- Re: [O] C++ code block not linked Roger Mason
- Re: [O] C++ code block not linked Thierry Banel
- Re: [O] C++ code block not linked Roger Mason
- Re: [O] C++ code block not linked [SOL... Roger Mason
- Re: [O] C++ code block not linked ... Thierry Banel
- Re: [O] C++ code block not lin... Nick Dokos
- Re: [O] C++ code block not lin... Roger Mason