[sword-devel] Sword Python bindings for Windows
ps16thypresenceisfullnessofjoy at gmail.com
Fri Oct 3 14:32:11 MST 2014
Thanks for the suggestion, Nic. I don't think it would work to use
cygwin, because I have to use the same compiler that Python is built
with on Windows to be able to build the SWIG bindings, but maybe I
should look into building Sword without ICU.
I corresponded with Greg Hellings, and he suggested that maybe I could
"just build Sword with the bundled vc10 solution and drop in a manual
execution of swordswig akin to the one in CMake," which seemed like a
good idea.I tried it, and was able to successfully build Sword and run
SWIG, but now I'm stuck on a setup.py file that needs to be run.
What I'm currently doing is:
1. Building lib/vcppmake/libsword.sln in Visual Studio 2010 (with a few
minor changes to the SLN and VCXPROJ files necessary to make it work
because it is a VC2013 project), which works.
2. From the bindings/swig directory, running the command:
swig.exe -w-451,-402 -shadow -c++ -python -o
This also works.
3. From the bindings/swig/python directory (where SWIG generated the CXX
file), running the command:
C:\Python34\python.exe setup.py build
I have attached the setup.py file that I am using. This does *not* work.
I get the following error:
C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\link.exe /DLL
/nologo /INCREMENTAL:NO /LIBPATH:../../../../sword-build
/LIBPATH:C:\Python34\libs /LIBPATH:C:\Python34\PCbuild sword.lib
LINK : fatal error LNK1181: cannot open input file 'sword.lib'
error: command 'C:\\Program Files\\Microsoft Visual Studio
10.0\\VC\\BIN\\link.exe' failed with exit status 1181
4. Because #3 does not work, running "C:\Python34\python.exe setup.py
install" doesn't either and gives the same error.
The problem is that I have no file named sword.lib, because libsword.sln
generates libsword.lib. I tried renaming it, and just got some different
(I'm also somewhat confused about the CMake path variables in the
setup.py file. Given my current directory tree:
What would be the appropriate values for CMAKE_CURRENT_SOURCE_DIR,
CMAKE_SOURCE_DIR, and CMAKE_BINARY_DIR? Currently I'm using the values
'sword-1.7.3/bindings/swig/python', 'sword-1.7.3', and 'sword-build',
respectively, but I'm not sure how setup.py would find files in the
I'm not quite sure what to try next. Is there a way I am not aware of to
obtain the sword.lib file that I need, or should I try building Sword
using CMake with ICU disabled?
-------------- next part --------------
from distutils.core import setup, Extension
maintainer_email='sword-devel at crosswire.org',
include_dirs=['../', '../../../include', '../../', '../../../'],
ext_modules = [Extension('_Sword',['Sword.cxx'],
More information about the sword-devel