On Tue, Feb 19, 2013 at 9:48 PM, Ruben Van Boxem
<[email protected]> wrote:
>
> Note official Python 2.7 uses MSVC2008 and Python 3.x use MSVC2010.
>
> Two things:
> 1. You're sure you have installed the MSVC++ redistributables
> that Python needs? Check with Dependency Walker to be sure.

Thanks. I have access to MSVC2008 and MSVC2010 as well.
But I need to patch libftdi1 first since there are some gcc
stuff which needs to be sorted out first. So I'd prefer to get
MinGW-w64 work if it is possible.

> 2. Forget everything I said above, and add
>
> -DMS_WIN64
>
> to your module compilation. This will fix all of your problems (it fixed
> mine when building gdb with Python support).
>
> Sorry for the delay in helpful response, I just remembered I faced the same
> problems before.
>
> Note that no manual editing of def files should be done.
>

Thanks a lot!
Adding that to CMake and everything is fine for Python 2.7.

Initially I have.
make[2]: Entering directory `/c/work/libftdi/fork/libftdi/build64'
Linking C shared module _ftdi1.pyd
cd /C/work/libftdi/fork/libftdi/build64/python && "/c/Program Files (x86)/CMake
2.8/bin/cmake.exe" -E remove -f CMakeFiles/_ftdi1.dir/objects.a
cd /C/work/libftdi/fork/libftdi/build64/python && /c/mingw64_rubenvb/bin/ar.exe
cr CMakeFiles/_ftdi1.dir/objects.a @CMakeFiles/_ftdi1.dir/objects1.rsp
cd /C/work/libftdi/fork/libftdi/build64/python && /c/mingw64_rubenvb/bin/gcc.exe
     -shared -o _ftdi1.pyd -Wl,--major-image-version,0,--minor-image-version,0 -
Wl,--whole-archive CMakeFiles/_ftdi1.dir/objects.a -Wl,--no-whole-archive  -L/C/
work/libftdi/fork/libftdi/build64/python/../src ../src/libftdi1.dll.a /C/Python2
7/libs/libpython27.a /C/work/libusbx/libusbx-1.0.14-win/MinGW64/dll/libusb-1.0.d
ll.a -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid
-lcomdlg32 -ladvapi32
CMakeFiles/_ftdi1.dir/objects.a(ftdi1PYTHON_wrap.c.obj): In function `init_ftdi1
':
c:/work/libftdi/fork/libftdi/build64/python/ftdi1PYTHON_wrap.c:11561: undefined
reference to `__imp_Py_InitModule4'
collect2.exe: error: ld returned 1 exit status
make[2]: *** [python/_ftdi1.pyd] Error 1

Adding the  -DMS_WIN64 does help.

Scanning dependencies of target _ftdi1
make[2]: Leaving directory `/C/work/libftdi/fork/libftdi/build64'
make -f python/CMakeFiles/_ftdi1.dir/build.make
python/CMakeFiles/_ftdi1.dir/build
make[2]: Entering directory `/C/work/libftdi/fork/libftdi/build64'
"/c/Program Files (x86)/CMake 2.8/bin/cmake.exe" -E
cmake_progress_report /C/work/libftdi/fork/libftdi/build64/CMakeFiles
2
[100%] Building C object python/CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c.obj
cd /C/work/libftdi/fork/libftdi/build64/python && /c/mingw64_rubenvb/bin/gcc.exe
  -D_ftdi1_EXPORTS -DMS_WIN64 -O2 -g -DNDEBUG @CMakeFiles/_ftdi1.dir/includes_C.
rsp   -Wall -o CMakeFiles/_ftdi1.dir/ftdi1PYTHON_wrap.c.obj   -c /C/work/libftdi
/fork/libftdi/build64/python/ftdi1PYTHON_wrap.c
Linking C shared module _ftdi1.pyd
cd /C/work/libftdi/fork/libftdi/build64/python && "/c/Program Files (x86)/CMake
2.8/bin/cmake.exe" -E remove -f CMakeFiles/_ftdi1.dir/objects.a
cd /C/work/libftdi/fork/libftdi/build64/python && /c/mingw64_rubenvb/bin/ar.exe
cr CMakeFiles/_ftdi1.dir/objects.a @CMakeFiles/_ftdi1.dir/objects1.rsp
cd /C/work/libftdi/fork/libftdi/build64/python && /c/mingw64_rubenvb/bin/gcc.exe
     -shared -o _ftdi1.pyd -Wl,--major-image-version,0,--minor-image-version,0 -
Wl,--whole-archive CMakeFiles/_ftdi1.dir/objects.a -Wl,--no-whole-archive  -L/C/
work/libftdi/fork/libftdi/build64/python/../src ../src/libftdi1.dll.a /C/Python2
7/libs/libpython27.a
/C/work/libusbx/libusbx-1.0.14-win/MinGW64/dll/libusb-1.0.dll.a
-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
-luuid
-lcomdlg32 -ladvapi32
make[2]: Leaving directory `/C/work/libftdi/fork/libftdi/build64'

And the resultant 64bit Python 2.7 bindings work nicely. I will try
Python 3.3 later using the same method to see if that works.

-- 
Xiaofan

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to