ppwwyyxx / OpenPano

Automatic Panorama Stitching From Scratch
MIT License
1.84k stars 551 forks source link

在windows vs2015上配置问题 #122

Open TayGei opened 2 years ago

TayGei commented 2 years ago

readme里面的步骤第二步,设置环境变量Eigen3是在哪里设置呀 找了半天没找到。。。。

programClown commented 2 years ago

我测试了一下,VS2019编译修改根目录CMakeLists.txt添加eigen路径,比如这样: ` ...

list(APPEND CMAKE_MODULE_PATH "D:/VS2019/eigen-3.4.0/cmake") set(Eigen3_DIR "D:/VS2019/eigen-3.4.0/cmake") set(EIGEN3_INCLUDE_DIR "D:/VS2019/eigen-3.4.0") set(EIGEN3_INCLUDE_DIRS "D:/VS2019/eigen-3.4.0")

if(MSVC) if(MSVC_VERSION LESS 1800) # 1700 = VS 2013 .... 编译有一些bug,你需要调整一下,比如third-party/flann/util/serialization.h,版本太老,需要修订如下: // declare serializers for simple types BASIC_TYPE_SERIALIZER(char); BASIC_TYPE_SERIALIZER(unsigned char); BASIC_TYPE_SERIALIZER(short); BASIC_TYPE_SERIALIZER(unsigned short); BASIC_TYPE_SERIALIZER(int); BASIC_TYPE_SERIALIZER(unsigned int); BASIC_TYPE_SERIALIZER(long); BASIC_TYPE_SERIALIZER(unsigned long); BASIC_TYPE_SERIALIZER(float); BASIC_TYPE_SERIALIZER(double); BASIC_TYPE_SERIALIZER(bool);

ifdef _MSC_VER

    BASIC_TYPE_SERIALIZER(unsigned __int64);

endif

` 其他错误,很简单解决,祝好运!

TayGei commented 2 years ago

你好 我已收到 感谢你的回复和解答

------------------ 原始邮件 ------------------ 发件人: "ppwwyyxx/OpenPano" @.>; 发送时间: 2022年7月6日(星期三) 中午11:21 @.>; @.**@.>; 主题: Re: [ppwwyyxx/OpenPano] 在windows vs2015上配置问题 (Issue #122)

我测试了一下,VS2019编译修改根目录CMakeLists.txt添加eigen路径,比如这样: ` ...

list(APPEND CMAKE_MODULE_PATH "D:/VS2019/eigen-3.4.0/cmake") set(Eigen3_DIR "D:/VS2019/eigen-3.4.0/cmake") set(EIGEN3_INCLUDE_DIR "D:/VS2019/eigen-3.4.0") set(EIGEN3_INCLUDE_DIRS "D:/VS2019/eigen-3.4.0")

if(MSVC) if(MSVC_VERSION LESS 1800) # 1700 = VS 2013 .... 编译有一些bug,你需要调整一下,比如third-party/flann/util/serialization.h,版本太老,需要修订如下: // declare serializers for simple types BASIC_TYPE_SERIALIZER(char); BASIC_TYPE_SERIALIZER(unsigned char); BASIC_TYPE_SERIALIZER(short); BASIC_TYPE_SERIALIZER(unsigned short); BASIC_TYPE_SERIALIZER(int); BASIC_TYPE_SERIALIZER(unsigned int); BASIC_TYPE_SERIALIZER(long); BASIC_TYPE_SERIALIZER(unsigned long); BASIC_TYPE_SERIALIZER(float); BASIC_TYPE_SERIALIZER(double); BASIC_TYPE_SERIALIZER(bool);

ifdef _MSC_VER

BASIC_TYPE_SERIALIZER(unsigned __int64);

endif

` 其他错误,很简单解决,祝好运!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

Ning-yuan118 commented 11 months ago

3>正在生成代码... 3>LINK : fatal error LNK1181: 无法打开输入文件“third-party\Release\lodepng.lib” 3>已完成生成项目“openpano.vcxproj”的操作 - 失败。 请问是我cmake错误么,我看了根本没有这个lib文件呢?

yxc-s commented 2 months ago

3>正在生成代码... 3>LINK : fatal error LNK1181: 无法打开输入文件“third-party\Release\lodepng.lib” 3>已完成生成项目“openpano.vcxproj”的操作 - 失败。 请问是我cmake错误么,我看了根本没有这个lib文件呢?

我也是这个情况,请问老哥解决了吗

TayGei commented 2 months ago

不好意思啊 之前我是直接让其他同学用linux跑的了 这个问题我当时也没有解决 但是后面有其他人给我发了一些解决方法 我转发给你你看看有用不吧

945794290 @.***

 

------------------ 原始邮件 ------------------ 发件人: "ppwwyyxx/OpenPano" @.>; 发送时间: 2024年4月26日(星期五) 下午5:45 @.>; @.**@.>; 主题: Re: [ppwwyyxx/OpenPano] 在windows vs2015上配置问题 (Issue #122)

3>正在生成代码... 3>LINK : fatal error LNK1181: 无法打开输入文件“third-party\Release\lodepng.lib” 3>已完成生成项目“openpano.vcxproj”的操作 - 失败。 请问是我cmake错误么,我看了根本没有这个lib文件呢?

我也是这个情况,请问老哥解决了吗

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

yxc-s commented 2 months ago

不好意思啊 之前我是直接让其他同学用linux跑的了 这个问题我当时也没有解决 但是后面有其他人给我发了一些解决方法 我转发给你你看看有用不吧 945794290 @.   ------------------ 原始邮件 ------------------ 发件人: "ppwwyyxx/OpenPano" @.>; 发送时间: 2024年4月26日(星期五) 下午5:45 @.>; @*.**@*.>; 主题: Re: [ppwwyyxx/OpenPano] 在windows vs2015上配置问题 (Issue #122) 3>正在生成代码... 3>LINK : fatal error LNK1181: 无法打开输入文件“third-party\Release\lodepng.lib” 3>已完成生成项目“openpano.vcxproj”的操作 - 失败。 请问是我cmake错误么,我看了根本没有这个lib文件呢? 我也是这个情况,请问老哥解决了吗 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.>

我在项目中将输出类型从dll改成lib解决了,感谢回复!

zkas commented 2 months ago

windows请使用静态库,动态库没有导出符号,用不了,如果需要使用动态库导出符号,比较麻烦。如何生成静态库,可以修改cmakelist的文件SHARED改为STATIC。关于c++版本问题:最好使用c++14,然后屏蔽filesystem;如果使用c++17,random_shuffle又被废弃了。另外在win且64位情况下,需要添加BASIC_TYPE_SERIALIZER(size_t),要不然也会编译失败