[PD] compiling external examples in VS.net
Hans-Christoph Steiner
hans at eds.org
Wed Jan 25 21:19:27 CET 2006
On Jan 25, 2006, at 1:37 PM, Martin Peach wrote:
> G Quested wrote:
>
>> On Wed, 25 Jan 2006, IOhannes m zmoelnig wrote:
>>
>>> G Quested wrote:
>>>
>>>> Hi,
>>>> I am trying to compile and run the example externals bundled with Pd
>>>> 39.1 (the pre-compiled for windows version).
>>>>
>>>> I can compile the obj1.c file and create a dll which i place in the
>>>> extras directory but Pd doesn't like it:
>>>> -------------------------------------------
>>>> load_object: Symbol "obj1_setup" not found
>>>> obj1
>>>> ... could not create
>>>> -------------------------------------------
>>>>
>>>> I exported obj1_setup using __declspec(dllexport)
>>>
>>>
>>> all my knowledge is vc6-based, so i might talk nonsense.
>>> however, i think you also have to tell the linker that you want to
>>> export the setup-function via the "/export:obj1_setup" flag. (i
>>> think that "__declspec(dllexport)" is just for the compiler)
>>>
>> Thanks for the replies.
>> I tried adding /export:obj1_setup to the command line section of the
>> project->properties->linker but has made no difference. I also tried
>> using a .def file but this hasn't helped.
>>
>> I'm not too familiar with Visual Studio. Is their a tool to inspect
>> the
>> dll's symbol table. At least then i will know the dll is ok. I will
>> try to find a machine with VS6 and compile the code there to see if
>> that sorts it out.
>>
>> That wont solve my problem as i need to be able to compile on VS.net
>> for
>> the thing I'm working on :-(
>>
>
> I've never needed to use any /export flag. I'm using Visual C++ 2005
> Express Edition Beta (because it was free as in beer), which looks
> like a limited version of VS8.
> If the project is set up to make a dll, I think the only other thing
> to check is that you have MSW defined somewhere before you include
> m_pd.h, because VS defines _MSC_VER_ and _WIN32, but not MSW or NT.
I think its _MSC_VER instead of _MSC_VER_ actually. I've started to
chip away at MSW and NT, many externals and some parts of Pd are
already using _MSC_VER and _WIN32 since I was porting things to MinGW.
To anyone who is listening! ;) Don't use NT, MSW, MACOSX, UNIX! There
are automatic versions of these:
NT == _WIN32
MSW == _WIN32
MSVC-specific things = _MSC_VER
MACOSX == __APPLE__
and __linux__ or __gnu_linux__ are also good.
.hc
________________________________________________________________________
____
http://at.or.at/hans/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2353 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20060125/d8264cfa/attachment.bin>
More information about the Pd-list
mailing list