fixed linker error with extra_link_args

This commit is contained in:
Mario Fink 2019-04-26 10:10:35 +02:00
parent 1a732a3f8c
commit 5c5681925c
9 changed files with 40 additions and 38 deletions

Binary file not shown.

View File

@ -1,18 +1,18 @@
#include "tdm_ripper.hpp"
tdm_ripper::tdm_ripper():
tdmfile_(""), tdxfile_(""), filesprovided_(false),
num_channels_(0), num_groups_(0),
channel_id_(0), group_id_(0), channel_name_(0), group_name_(0),
num_channels_group_(0), channels_group_(0),
byteoffset_(0), length_(0), type_(0)
{
}
// tdm_ripper::tdm_ripper():
// tdmfile_(""), tdxfile_(""), filesprovided_(false),
// num_channels_(0), num_groups_(0),
// channel_id_(0), group_id_(0), channel_name_(0), group_name_(0),
// num_channels_group_(0), channels_group_(0),
// byteoffset_(0), length_(0), type_(0)
// {
//
// }
tdm_ripper::tdm_ripper(std::string tdmfile, std::string tdxfile):
tdmfile_(tdmfile), tdxfile_(tdxfile), filesprovided_(true),
tdmfile_(tdmfile), tdxfile_(tdxfile), //filesprovided_(true),
num_channels_(0), num_groups_(0),
channel_id_(0), group_id_(0), channel_name_(0), group_name_(0),
num_channels_group_(0), channels_group_(0),
@ -20,18 +20,18 @@ tdm_ripper::tdm_ripper(std::string tdmfile, std::string tdxfile):
{
setup();
}
void tdm_ripper::setfiles(std::string tdmfile, std::string tdxfile)
{
tdmfile_ = tdmfile;
tdxfile_ = tdxfile;
filesprovided_ = true;
setup();
}
//
// void tdm_ripper::setfiles(std::string tdmfile, std::string tdxfile)
// {
// tdmfile_ = tdmfile;
// tdxfile_ = tdxfile;
// filesprovided_ = true;
// setup();
// }
void tdm_ripper::setup()
{
assert( filesprovided_ );
// assert( filesprovided_ );
// TODO directly provide the C datatype to be used!!
datatypes_ = {
@ -146,7 +146,7 @@ void tdm_ripper::parse_structure()
// check consistency of number of channelgroups
int numgroups = count_occ_string(subtreedata.child("tdm_root").child_value("channelgroups"),"id");
assert( numgroups == num_groups_ );
if ( 0*numgroups == 0 ) assert( numgroups == num_groups_ );
// check consistency of number of channels
assert( num_channels_ == (int)channel_id_.size()

View File

@ -17,7 +17,7 @@ class tdm_ripper
// .tdm and .tdx filenames
std::string tdmfile_;
std::string tdxfile_;
bool filesprovided_;
// bool filesprovided_;
// endianness (true = little, false = big)
bool endianness_, machine_endianness_;
@ -45,10 +45,10 @@ class tdm_ripper
public:
tdm_ripper();
// tdm_ripper();
tdm_ripper(std::string tdmfile, std::string tdxfile = "");
void setfiles(std::string tdmfile, std::string tdxfile = "");
// void setfiles(std::string tdmfile, std::string tdxfile = "");
void setup();
void parse_structure();

BIN
main.o Normal file

Binary file not shown.

View File

@ -1,18 +1,20 @@
# cython: language_level = 3
# distutils: language = c++
## distutils: sources = lib/tdm_ripper.cpp
# from libcpp.string cimport string
# from libcpp.vector cimport vector
## distutils: sources = lib/tdm_ripper.cpp
from tdm_ripper cimport tdm_ripper
cdef class pytdmripper:
# C++ instance
cdef tdm_ripper cripp
# use pointer since there's no nullary constructor
cdef tdm_ripper*cripp
def __cinit__(self, string tdmfile, string tdxfile):
self.cripp = tdm_ripper(tdmfile,tdxfile)
self.cripp = new tdm_ripper(tdmfile,tdxfile)
def setfiles(self, string tdmfile, string tdxfile):
self.cripp(tdmfile,tdxfile)
def __dealloc__(self):
del self.cripp
# def setfiles(self, string tdmfile, string tdxfile):
# self.cripp(tdmfile,tdxfile)

View File

@ -10,7 +10,7 @@ extensions = Extension(
include_dirs=["lib"],
language='c++',
extra_compile_args=['-stdlib=libc++','-std=c++11'],
extra_link_args=['-std=c++11'],
extra_link_args=['-stdlib=libc++','-std=c++11'],
)
setup(

BIN
tdm_ripper.cpython-37m-darwin.so Executable file

Binary file not shown.

BIN
tdm_ripper.o Normal file

Binary file not shown.

View File

@ -1,14 +1,14 @@
# use some C++ STL libraries
from libcpp.string cimport string
from libcpp.vector cimport vector
# use only in absence of # distutils: sources = Rectangle.cpp in .pyx
# use only in absence of # distutils: sources = lib/tdm_ripper.cpp in .pyx
cdef extern from "tdm_ripper.cpp":
pass
cdef extern from "tdm_ripper.hpp":
cdef cppclass tdm_ripper:
tdm_ripper() except +
# tdm_ripper() except +
tdm_ripper(string, string) except +
void setfiles(string, string)
void setup()
# void setfiles(string, string)
# void setup()