bundler_sfm
bundler_sfm copied to clipboard
Cannot build in Visual Studio 2013
:( It will be awesome if we can have a Visual Studio 2013 compatible .sln file to be more compatible.
Hi Albert,
Joaquin Salas was kind enough to share some instructions for compiling in Windows. If you implement this, please feel free to share a patch:
Download Blunder from
https://github.com/snavely/bundler_sfm
To compile Bundler v0.4 in Visual Studio 2013 Ultimate C++, I corrected several of the compilation errors using the following sources and changes
- change
inline to __inline
in matrix.h
- I found a set of solutions for the following problems in http://blog.csdn.net/azkabannull/article/details/7872958
a. rename files
sysdep1.h0 to sysdep1.h signal1.h0 to signal1.h
in lib/f2c
b. create the file arith.h using the following lines
#define IEEE_8087 #define Arith_Kind_ASL 1 #define largo int #define Intcast (int) (largo) #define Double_Align #define X64_bit_pointers #define QNaN0 0x0 #define QNaN1 0xfff80000
place the newly created arith.h in lib/f2c
c. rename mkdir a _mkdir in Bundle2PMVS.cpp, and add the line at the top of the file #include <direct.h>
Also, eliminate the second parameter
from _mkdir(output_path, 0770); to _mkdir(output_path);
d. In the file RadialUndistort.cpp
change the lines
char *space = index(buf, ' ');
if (space) *space = 0;
files.push_back(std::string(buf));
to
std::string str(buf); int space_pos = str.find(' '); str.at(space_pos) = 0; files.push_back(str);
- in the file filter.c
comment the entire definition for the static double erf (double x)
function.
- In the file KeyMatchFull.cpp
include the file
#include
to use the max function
- in the files TwoFrameModel.cpp and BundleAdd.cpp comment the line
//#define isnan _isnan
- For each project add /FS
project-> properties -> Configuration properties ->C/C++ ->Command Line -> Additional Options
just as it is explained in http://msdn.microsoft.com/en-us/library/dn502518.aspx
- Add
..\lib\jpeg\src
in the RadialUndistort project
project->properties -> C/C++ -> Additional Include Directories
Thanks! I am giving it a shot now. Re: patch, how to do a patch? I think some of the changes may cause build error for earlier compilers.
KeyMatchFull should include <"algorithm">
for me, adding /FS imposes no change of the error message pattern. I ended up following this post http://stackoverflow.com/questions/20643370/visual-studio-2013-fatal-error-c1041-fs
and changed the configuration of the intermediate directory for impacted projects.
I can compile it now with over 743 warnings :$
Any chance of using #defines to make this compile on both Linux and Windows?
Noah
On Fri, Jan 2, 2015 at 1:12 AM, albertcheng [email protected] wrote:
I can compile it now with over 743 warnings :$
— Reply to this email directly or view it on GitHub https://github.com/snavely/bundler_sfm/issues/26#issuecomment-68510328.
error C1083: Unable to open source file: “..\src\SifterUtil.cpp”: No such file or directoryG:\bundler_sfm-master\vc++\c1xx Bundler How Can I fix it?
The error "Unable to open source file: “..\src\SifterUtil.cpp”" is caused by filename replacement(SfiterUtil->BundleUtil). Solution: Before open bundle.sln, open Bundler.vcproj and replace SifterUtil.cpp/h to BundleUtil.cpp/h
Thanks! Do you want to submit a patch?
On Thu, Feb 23, 2017 at 5:48 AM lshGame [email protected] wrote:
The error "Unable to open source file: “..\src\SifterUtil.cpp”" is caused by filename replacement(SfiterUtil->BundleUtil). Solution: Before open bundle.sln, open Bundler.vcproj and replace SifterUtil.cpp/h to BundleUtil.cpp/h
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/snavely/bundler_sfm/issues/26#issuecomment-281995743, or mute the thread https://github.com/notifications/unsubscribe-auth/ABt6qzCpq3NkgQp_cR2fRW18SNw916_Oks5rfY5JgaJpZM4DNGyF .
--
Noah Snavely Associate Professor Email: [email protected] Dept. of Computer Science Phone: (607) 255 4280 Cornell University URL : www.cs.cornell.edu/~snavely 307 Gates Hall Ithaca, NY 14853
Hi When I tried to build imagelib in separately project, I didn't see some header files such as "dmap.h" and "error.h", which are included in some file in imagelib source code? I also received some error such as when I tried to build clapack lib, compiler said that some function such as "double sqrt(doublereal), s_cat" can not find the implementation of its?