Extraction brain mask: multiple definition of () First defined here

90 views
Skip to first unread message

Bram Callewaert

unread,
Apr 20, 2020, 10:13:38 AM4/20/20
to medi-users
Hi all

I am using the MEDI toolbox using the README file (windows, Matlab 2019b, MEDI toolbox (updated Jan 15, 2020)). 

I am stuck at the extraction of the brain mask using FSL BET. 

When I use runmex(), as suggested by Junghun in my previous question, (using the Matlab add-on MinGW-w64) i get the following error: 


Error using mex
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\functions.obj:functions.cpp:(.text+0xd0):
multiple definition of `Utilities::Option<bool>::value_string[abi:cxx11]() const'
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\bet2.obj:bet2.cpp:(.text$_ZNK9Utilities6OptionIbE12value_stringB5cxx11Ev[_ZNK9Utilities6OptionIbE12value_stringB5cxx11Ev]+0x0):
first defined here
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\functions.obj:functions.cpp:(.text+0x110):
multiple definition of `Utilities::Option<bool>::set_value(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\bet2.obj:bet2.cpp:(.text$_ZN9Utilities6OptionIbE9set_valueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE[_ZN9Utilities6OptionIbE9set_valueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE]+0x0):
first defined here
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\functions.obj:functions.cpp:(.text+0x1a0):
multiple definition of `Utilities::Option<bool>::print(std::ostream&) const'
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\bet2.obj:bet2.cpp:(.text$_ZNK9Utilities6OptionIbE5printERSo[_ZNK9Utilities6OptionIbE5printERSo]+0x0):
first defined here
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\functions.obj:functions.cpp:(.text+0xa30):
multiple definition of `Utilities::Option<bool>::config_key[abi:cxx11]() const'
C:\Users\...\AppData\Local\Temp\mex_429955088503112_15080\bet2.obj:bet2.cpp:(.text$_ZNK9Utilities6OptionIbE10config_keyB5cxx11Ev[_ZNK9Utilities6OptionIbE10config_keyB5cxx11Ev]+0x0):
first defined here
collect2.exe: error: ld returned 1 exit status

Error in runmex (line 23)
mex('-v',opt{:},sources{:})

Does anyone know what the problem might be? 

Kind regards, 

Bram

Aurélien Hervouin

unread,
Feb 29, 2024, 8:35:05 AM2/29/24
to medi-users
Hi Bram,

I have the exact same problem. 
(Windows 10, Matlab R2017b)

A few years later, did you find a way to get around this problem ? 
Or anyone in this group ?

Thanks,

Aurélien 

spince...@gmail.com

unread,
Feb 29, 2024, 10:24:44 AM2/29/24
to medi-users
Dear Aurélien 

Look up the definitions of value_string, set_value, print, and config_key in MEDI_toolbox\functions\bet2\functions.cpp. 

Insert the word inline at the beginning of the definition. For example
 
template<> string Option<bool>::config_key() const
becomes
template<> inline string Option<bool>::config_key() const

Let me know if this works.

Pascal
Reply all
Reply to author
Forward
0 new messages