Xiangyu-Hu / SPHinXsys

SPHinXsys provides C++ APIs for engineering simulation and optimization. It aims at complex systems driven by fluid, structure, multi-body dynamics and beyond. The multi-physics library is based on a unique and unified computational framework by which strong coupling has been achieved for all involved physics.
https://www.sphinxsys.org/
Apache License 2.0
259 stars 199 forks source link

vs2017导入SPHINXsys后,运行其中一个case,出现下面的链接错误。 #80

Closed ZhonghuiBi closed 2 years ago

ZhonghuiBi commented 2 years ago

輸出列表 2>cl /c /IC:\simbody\include /IC:\tbb2019_20191006oss\include /IC:\local\boost_1_74_0 /I"C:\googletest-distribution\include" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\adaptations" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\bodies" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\common" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\generative_structures" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\geometries" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\include" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\io_system" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\kernels" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\materials" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\meshes" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\active_muscle_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\diffusion_reaction_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\dissipation_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\electro_physiology" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\external_force" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\fluid_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\fluid_dynamics\eulerian_fluid_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\general_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\observer_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\relax_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\solid_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_generator" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particles" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\regression_test" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\simbody_sphinxsys" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\sphinxsys_system" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\common" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particle_generator" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\meshes" /W1 /WX- /diagnostics:classic /MP /O2 /Ob2 /D _MBCS /D WIN32 /D _WINDOWS /D NDEBUG /D BOOST_AVAILABLE /D _USE_MATH_DEFINES /D TBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D "CMAKE_INTDIR=\"Release\"" /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"sphinxsys_2d.dir\Release\" /Fd"sphinxsys_2d.dir\Release\sphinxsys_2d.pdb" /Gd /TP /errorReport:prompt /EHsc";" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\adaptations\adaptation.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\bodies\solid_body_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\common\scalar_functions_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries\level_set_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries\multi_polygon_shape.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\meshes\base_mesh_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\meshes\cell_linked_list_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particle_dynamics\solid_dynamics\solid_dynamics_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particle_generator\particle_generator_lattice_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particles\solid_particles_supplementary.cpp" 2> 2>cl : 命令行 warning D9002: 忽略未知选项“/EH;”

错误列表:

E0070 不允许使用不完整的类型 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 "public: cdecl SPH::XmlEngine::XmlEngine(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (??0XmlEngine@SPH@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z),该符号在函数 "public: cdecl SPH::RegressionTestBase<class SPH::BodyReducedQuantityRecording >::RegressionTestBase<class SPH::BodyReducedQuantityRecording ><class SPH::In_Output &,class WaterBlock &,class SPH::Gravity &>(class SPH::In_Output &,class WaterBlock &,class SPH::Gravity &)" (??$?0AEAVIn_Output@SPH@@AEAVWaterBlock@@AEAVGravity@1@@?$RegressionTestBase@V?$BodyReducedQuantityRecording@VTotalMechanicalEnergy@SPH@@@SPH@@@SPH@@QEAA@AEAVIn_Output@1@AEAVWaterBlock@@AEAVGravity@1@@Z) 中被引用 test_2d_dambreak D:\SPH\SPHinXsys-Github-build\tests\2d_examples\test_2d_dambreak\Dambreak.obj 1

后面都是LINK2019这种错误。

YongchuanYu commented 2 years ago

could you please paste the errors shown in your output window in your VS

ZhonghuiBi commented 2 years ago

我重新rebuild了一下,输出的内容很多,大概是下面3种类型 第一段 2>cl /c /IC:\simbody\include /IC:\tbb2019_20191006oss\include /IC:\local\boost_1_74_0 /I"C:\googletest-distribution\include" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\adaptations" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\bodies" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\common" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\generative_structures" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\geometries" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\include" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\io_system" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\kernels" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\materials" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\meshes" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\active_muscle_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\diffusion_reaction_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\dissipation_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\electro_physiology" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\external_force" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\fluid_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\fluid_dynamics\eulerian_fluid_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\general_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\observer_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\relax_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_dynamics\solid_dynamics" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particle_generator" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\particles" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\regression_test" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\simbody_sphinxsys" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\sphinxsys_system" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\common" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particle_generator" /I"D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\meshes" /W1 /WX- /diagnostics:classic /MP /O2 /Ob2 /D _MBCS /D WIN32 /D _WINDOWS /D NDEBUG /D BOOST_AVAILABLE /D _USE_MATH_DEFINES /D TBB_SUPPRESS_DEPRECATED_MESSAGES=1 /D "CMAKE_INTDIR=\"Release\"" /Gm- /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"sphinxsys_2d.dir\Release\" /Fd"sphinxsys_2d.dir\Release\sphinxsys_2d.pdb" /Gd /TP /errorReport:prompt /EHsc";" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\shared\adaptations\adaptation.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\bodies\solid_body_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\common\scalar_functions_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries\level_set_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries\multi_polygon_shape.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\meshes\base_mesh_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\meshes\cell_linked_list_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particle_dynamics\solid_dynamics\solid_dynamics_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particle_generator\particle_generator_lattice_supplementary.cpp" "D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\particles\solid_particles_supplementary.cpp" 2> 2>cl : 命令行 warning D9002: 忽略未知选项“/EH;” 第二段 2>C:\local\boost_1_74_0\boost/geometry/formulas/vertex_latitude.hpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 (编译源文件 D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries\level_set_supplementary.cpp) 2>solid_dynamics_supplementary.cpp 2>C:\local\boost_1_74_0\boost/range/result_iterator.hpp(20): note: This header is deprecated. Use <boost/range/iterator.hpp> instead. 第三段 3>Dambreak.obj : error LNK2019: 无法解析的外部符号 "public: virtual void cdecl SPH::RestartIO::writeToFile(unsigned int64)" (?writeToFile@RestartIO@SPH@@UEAAX_K@Z),该符号在函数 main 中被引用 3>Dambreak.obj : error LNK2001: 无法解析的外部符号 "public: virtual void cdecl SPH::RestartIO::readFromFile(unsigned int64)" (?readFromFile@RestartIO@SPH@@UEAAX_K@Z)

ZhonghuiBi commented 2 years ago

2>C:\local\boost_1_74_0\boost/geometry/formulas/vertex_latitude.hpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 (编译源文件 D:\SPH\SPHinXsys-1.0-beta.0.3\SPHINXsys\src\for_2D_build\geometries\level_set_supplementary.cpp) 2>solid_dynamics_supplementary.cpp 2>C:\local\boost_1_74_0\boost/range/result_iterator.hpp(20): note: This header is deprecated. Use <boost/range/iterator.hpp> instead.

Xiangyu-Hu commented 2 years ago

Could you detail the process of "vs2017导入SPHINXsys"?

ZhonghuiBi commented 2 years ago

我是直接按照B站上面上传的视频教程来的。通过cmake导入SPHinXsys-1.0-beta.0.3。在cmake中的Configuring和Generating都是成功的,然后open project后,运行后出现这种链接错误。

Xiangyu-Hu commented 2 years ago

Ok. Then @YongchuanYu knows more than me on this.

ZhonghuiBi commented 2 years ago

Ok. Then @YongchuanYu knows more than me on this. 谢谢胡老师~

YongchuanYu commented 2 years ago

this is a link problem, could you please check in visual studio : right click you project -> properites->Linker->General, check the contents of Additional Library Directories, and Linker->Input, check the contents of Additional Dependencies, in this way you can check if your project has linked to the right library.

YongchuanYu commented 2 years ago

and also project->properites->C/C++ ->General, check the contents of 'Additional Include Directories'

Xiangyu-Hu commented 2 years ago

Is the issue solved?

YongchuanYu commented 2 years ago

Yes, he update the windows system and this issue solved. Before the update, he find he linked the 32 bit lib in 64 environment.

Xiangyu-Hu commented 2 years ago

Hi, Yongchuan, To avoid the same issue. we may need to update the tutorial and mention this issue. I close the issue here.