|
On 26/11/2017 12:42, Roger Mason wrote:
Hello,
Thierry Banel <address@hidden> 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.1
I 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).
|