fixed linker error with extra_link_args
This commit is contained in:
parent
1a732a3f8c
commit
5c5681925c
BIN
build/temp.macosx-10.7-x86_64-3.7/pytdm_ripper.o
Normal file
BIN
build/temp.macosx-10.7-x86_64-3.7/pytdm_ripper.o
Normal file
Binary file not shown.
@ -1,18 +1,18 @@
|
|||||||
|
|
||||||
#include "tdm_ripper.hpp"
|
#include "tdm_ripper.hpp"
|
||||||
|
|
||||||
tdm_ripper::tdm_ripper():
|
// tdm_ripper::tdm_ripper():
|
||||||
tdmfile_(""), tdxfile_(""), filesprovided_(false),
|
// tdmfile_(""), tdxfile_(""), filesprovided_(false),
|
||||||
num_channels_(0), num_groups_(0),
|
// num_channels_(0), num_groups_(0),
|
||||||
channel_id_(0), group_id_(0), channel_name_(0), group_name_(0),
|
// channel_id_(0), group_id_(0), channel_name_(0), group_name_(0),
|
||||||
num_channels_group_(0), channels_group_(0),
|
// num_channels_group_(0), channels_group_(0),
|
||||||
byteoffset_(0), length_(0), type_(0)
|
// byteoffset_(0), length_(0), type_(0)
|
||||||
{
|
// {
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
|
||||||
tdm_ripper::tdm_ripper(std::string tdmfile, std::string tdxfile):
|
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),
|
num_channels_(0), num_groups_(0),
|
||||||
channel_id_(0), group_id_(0), channel_name_(0), group_name_(0),
|
channel_id_(0), group_id_(0), channel_name_(0), group_name_(0),
|
||||||
num_channels_group_(0), channels_group_(0),
|
num_channels_group_(0), channels_group_(0),
|
||||||
@ -20,18 +20,18 @@ tdm_ripper::tdm_ripper(std::string tdmfile, std::string tdxfile):
|
|||||||
{
|
{
|
||||||
setup();
|
setup();
|
||||||
}
|
}
|
||||||
|
//
|
||||||
void tdm_ripper::setfiles(std::string tdmfile, std::string tdxfile)
|
// void tdm_ripper::setfiles(std::string tdmfile, std::string tdxfile)
|
||||||
{
|
// {
|
||||||
tdmfile_ = tdmfile;
|
// tdmfile_ = tdmfile;
|
||||||
tdxfile_ = tdxfile;
|
// tdxfile_ = tdxfile;
|
||||||
filesprovided_ = true;
|
// filesprovided_ = true;
|
||||||
setup();
|
// setup();
|
||||||
}
|
// }
|
||||||
|
|
||||||
void tdm_ripper::setup()
|
void tdm_ripper::setup()
|
||||||
{
|
{
|
||||||
assert( filesprovided_ );
|
// assert( filesprovided_ );
|
||||||
|
|
||||||
// TODO directly provide the C datatype to be used!!
|
// TODO directly provide the C datatype to be used!!
|
||||||
datatypes_ = {
|
datatypes_ = {
|
||||||
@ -146,7 +146,7 @@ void tdm_ripper::parse_structure()
|
|||||||
|
|
||||||
// check consistency of number of channelgroups
|
// check consistency of number of channelgroups
|
||||||
int numgroups = count_occ_string(subtreedata.child("tdm_root").child_value("channelgroups"),"id");
|
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
|
// check consistency of number of channels
|
||||||
assert( num_channels_ == (int)channel_id_.size()
|
assert( num_channels_ == (int)channel_id_.size()
|
||||||
|
@ -17,7 +17,7 @@ class tdm_ripper
|
|||||||
// .tdm and .tdx filenames
|
// .tdm and .tdx filenames
|
||||||
std::string tdmfile_;
|
std::string tdmfile_;
|
||||||
std::string tdxfile_;
|
std::string tdxfile_;
|
||||||
bool filesprovided_;
|
// bool filesprovided_;
|
||||||
|
|
||||||
// endianness (true = little, false = big)
|
// endianness (true = little, false = big)
|
||||||
bool endianness_, machine_endianness_;
|
bool endianness_, machine_endianness_;
|
||||||
@ -45,10 +45,10 @@ class tdm_ripper
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
tdm_ripper();
|
// tdm_ripper();
|
||||||
tdm_ripper(std::string tdmfile, std::string tdxfile = "");
|
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 setup();
|
||||||
|
|
||||||
void parse_structure();
|
void parse_structure();
|
||||||
|
@ -1,18 +1,20 @@
|
|||||||
# cython: language_level = 3
|
# cython: language_level = 3
|
||||||
# distutils: language = c++
|
# distutils: language = c++
|
||||||
## distutils: sources = lib/tdm_ripper.cpp
|
|
||||||
|
|
||||||
# from libcpp.string cimport string
|
## distutils: sources = lib/tdm_ripper.cpp
|
||||||
# from libcpp.vector cimport vector
|
|
||||||
|
|
||||||
from tdm_ripper cimport tdm_ripper
|
from tdm_ripper cimport tdm_ripper
|
||||||
|
|
||||||
cdef class pytdmripper:
|
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):
|
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):
|
def __dealloc__(self):
|
||||||
self.cripp(tdmfile,tdxfile)
|
del self.cripp
|
||||||
|
|
||||||
|
# def setfiles(self, string tdmfile, string tdxfile):
|
||||||
|
# self.cripp(tdmfile,tdxfile)
|
||||||
|
2
setup.py
2
setup.py
@ -10,7 +10,7 @@ extensions = Extension(
|
|||||||
include_dirs=["lib"],
|
include_dirs=["lib"],
|
||||||
language='c++',
|
language='c++',
|
||||||
extra_compile_args=['-stdlib=libc++','-std=c++11'],
|
extra_compile_args=['-stdlib=libc++','-std=c++11'],
|
||||||
extra_link_args=['-std=c++11'],
|
extra_link_args=['-stdlib=libc++','-std=c++11'],
|
||||||
)
|
)
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
|
BIN
tdm_ripper.cpython-37m-darwin.so
Executable file
BIN
tdm_ripper.cpython-37m-darwin.so
Executable file
Binary file not shown.
BIN
tdm_ripper.o
Normal file
BIN
tdm_ripper.o
Normal file
Binary file not shown.
@ -1,14 +1,14 @@
|
|||||||
|
# use some C++ STL libraries
|
||||||
from libcpp.string cimport string
|
from libcpp.string cimport string
|
||||||
from libcpp.vector cimport vector
|
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":
|
cdef extern from "tdm_ripper.cpp":
|
||||||
pass
|
pass
|
||||||
|
|
||||||
cdef extern from "tdm_ripper.hpp":
|
cdef extern from "tdm_ripper.hpp":
|
||||||
cdef cppclass tdm_ripper:
|
cdef cppclass tdm_ripper:
|
||||||
tdm_ripper() except +
|
# tdm_ripper() except +
|
||||||
tdm_ripper(string, string) except +
|
tdm_ripper(string, string) except +
|
||||||
void setfiles(string, string)
|
# void setfiles(string, string)
|
||||||
void setup()
|
# void setup()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user