Skip to content

Problems building on windows #508

@edwardbr

Description

@edwardbr

Hi I am building on Visual Studio Community 2019 amd64. Against llvm 14.05, I am getting a lot of missing symbols and warnings. To save you grief I have just included the errors. I would love to get this working on my windows rig (our linux platform is in pipeline). Can you give me pointers as to where I have gone off the rails?
I have tried branch v_0.8 and main to no avail.

The only change I have done is in the main CMakeLists file:
#find_program(LLVM_CONFIG_PATH "${INSIGHTS_LLVM_CONFIG}")
set(LLVM_CONFIG_PATH "C:\LLVM14.05\bin\llvm-config")

Windows sdk 10.0.19041.0
Compiler version : 19.29.30146.0

[build] CoroutinesCodeGenerator.obj : error LNK2019: unresolved external symbol "void __cdecl AddToVarNamePrefixMap(class clang::VarDecl const *,class std::basic_string_view<char,struct std::char_traits >)" (?AddToVarNamePrefixMap@@YAXPEBVVarDecl@clang@@v?$basic_string_view@DU?$char_traits@D@std@@@std@@@z) referenced in function "public: void __cdecl clang::insights::CoroutinesCodeGenerator::InsertCoroutine(class clang::FunctionDecl const &,class clang::CoroutineBodyStmt const *)" (?InsertCoroutine@CoroutinesCodeGenerator@insights@clang@@QEAAXAEBVFunctionDecl@3@PEBVCoroutineBodyStmt@3@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] Hint on symbols that are defined and could potentially match:
[build] "void __cdecl clang::insights::AddToVarNamePrefixMap(class clang::VarDecl const *,class std::basic_string_view<char,struct std::char_traits >)" (?AddToVarNamePrefixMap@insights@clang@@YAXPEBVVarDecl@2@V?$basic_string_view@DU?$char_traits@D@std@@@std@@@z)
[build] CoroutinesCodeGenerator.obj : error LNK2019: unresolved external symbol "void __cdecl ClearVarNamePrefix(void)" (?ClearVarNamePrefix@@yaxxz) referenced in function "public: virtual __cdecl clang::insights::CoroutinesCodeGenerator::~CoroutinesCodeGenerator(void)" (??1CoroutinesCodeGenerator@insights@clang@@UEAA@XZ) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] Hint on symbols that are defined and could potentially match:
[build] "void __cdecl clang::insights::ClearVarNamePrefix(void)" (?ClearVarNamePrefix@insights@clang@@yaxxz)
[build] clangFrontend.lib(CompilerInstance.obj) : error LNK2019: unresolved external symbol __imp__time64 referenced in function "void __cdecl pruneModuleCache(class clang::HeaderSearchOptions const &)" (?pruneModuleCache@@YAXAEBVHeaderSearchOptions@clang@@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] clangLex.lib(PPMacroExpansion.obj) : error LNK2001: unresolved external symbol __imp__time64 [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] clangDriver.lib(MSVC.obj) : error LNK2019: unresolved external symbol __imp___stdio_common_vsscanf referenced in function sscanf [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] clangDriver.lib(MSVC.obj) : error LNK2019: unresolved external symbol __imp_strncpy referenced in function "bool __cdecl getSystemRegistryString(char const *,char const *,class std::basic_string<char,struct std::char_traits,class std::allocator > &,class std::basic_string<char,struct std::char_traits,class std::allocator > *)" (?getSystemRegistryString@@YA_NPEBD0AEAV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@PEAV12@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMProfileData.lib(InstrProf.obj) : error LNK2001: unresolved external symbol __imp_strncpy [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] clangSerialization.lib(ASTWriter.obj) : error LNK2019: unresolved external symbol __imp_strdup referenced in function "private: void __cdecl clang::ASTWriter::WriteHeaderSearch(class clang::HeaderSearch const &)" (?WriteHeaderSearch@ASTWriter@clang@@AEAAXAEBVHeaderSearch@2@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp_strdup [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] clangLex.lib(PPMacroExpansion.obj) : error LNK2019: unresolved external symbol __imp_asctime referenced in function "private: void __cdecl clang::Preprocessor::ExpandBuiltinMacro(class clang::Token &)" (?ExpandBuiltinMacro@Preprocessor@clang@@AEAAXAEAVToken@2@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] clangLex.lib(PPMacroExpansion.obj) : error LNK2019: unresolved external symbol __imp__localtime64 referenced in function "void __cdecl ComputeDATE_TIME(class clang::SourceLocation &,class clang::SourceLocation &,class clang::Preprocessor &)" (?ComputeDATE_TIME@@YAXAEAVSourceLocation@clang@@0AEAVPreprocessor@2@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(APInt.obj) : error LNK2019: unresolved external symbol __imp_round referenced in function "public: class llvm::APInt __cdecl llvm::APInt::sqrt(void)const " (?sqrt@APInt@llvm@@qeba?AV12@XZ) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(raw_ostream.obj) : error LNK2019: unresolved external symbol __imp_lseek referenced in function "public: __cdecl llvm::raw_fd_ostream::raw_fd_ostream(int,bool,bool,enum llvm::raw_ostream::OStreamKind)" (??0raw_fd_ostream@llvm@@qeaa@H_N0W4OStreamKind@raw_ostream@1@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] OLDNAMES.lib(lseek.obi) : error LNK2001: unresolved external symbol __imp_lseek [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(raw_ostream.obj) : error LNK2019: unresolved external symbol __imp_read referenced in function "public: __int64 __cdecl llvm::raw_fd_stream::read(char *,unsigned __int64)" (?read@raw_fd_stream@llvm@@QEAA_JPEAD_K@Z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Path.obj) : error LNK2001: unresolved external symbol __imp_read [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] OLDNAMES.lib(read.obi) : error LNK2001: unresolved external symbol __imp_read [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(raw_ostream.obj) : error LNK2019: unresolved external symbol __imp_write referenced in function "private: virtual void __cdecl llvm::raw_fd_ostream::write_impl(char const *,unsigned __int64)" (?write_impl@raw_fd_ostream@llvm@@EEAAXPEBD_K@Z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Path.obj) : error LNK2001: unresolved external symbol __imp_write [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(ErrorHandling.obj) : error LNK2001: unresolved external symbol __imp_write [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] OLDNAMES.lib(write.obi) : error LNK2001: unresolved external symbol __imp_write [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Path.obj) : error LNK2019: unresolved external symbol __imp_close referenced in function "class std::error_code __cdecl llvm::sys::fs::copy_file(class llvm::Twine const &,class llvm::Twine const &)" (?copy_file@fs@sys@llvm@@ya?AVerror_code@std@@AEBVTwine@3@0@Z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Process.obj) : error LNK2001: unresolved external symbol __imp_close [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] OLDNAMES.lib(close.obi) : error LNK2001: unresolved external symbol __imp_close [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Process.obj) : error LNK2019: unresolved external symbol __imp_srand referenced in function "public: static unsigned int __cdecl llvm::sys::Process::GetRandomNumber(void)" (?GetRandomNumber@Process@sys@llvm@@SaiXZ) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Process.obj) : error LNK2019: unresolved external symbol __imp_rand referenced in function "public: static unsigned int __cdecl llvm::sys::Process::GetRandomNumber(void)" (?GetRandomNumber@Process@sys@llvm@@SaiXZ) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Process.obj) : error LNK2019: unresolved external symbol __imp__heapwalk referenced in function "public: static unsigned __int64 __cdecl llvm::sys::Process::GetMallocUsage(void)" (?GetMallocUsage@Process@sys@llvm@@SA_KXZ) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(JSON.obj) : error LNK2019: unresolved external symbol __imp_modf referenced in function "public: class llvm::Optional<__int64> __cdecl llvm::json::Value::getAsInteger(void)const " (?getAsInteger@Value@json@llvm@@qeba?AV?$Optional@_J@3@XZ) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(NativeFormatting.obj) : error LNK2019: unresolved external symbol __imp__fpclass referenced in function "void __cdecl llvm::write_double(class llvm::raw_ostream &,double,enum llvm::FloatStyle,class llvm::Optional)" (?write_double@llvm@@YAXAEAVraw_ostream@1@NW4FloatStyle@1@V?$Optional@_K@1@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] LLVMSupport.lib(Chrono.obj) : error LNK2019: unresolved external symbol __imp__localtime64_s referenced in function "class llvm::raw_ostream & __cdecl llvm::operator<<(class llvm::raw_ostream &,class std::chrono::time_point<struct std::chrono::system_clock,class std::chrono::duration<__int64,struct std::ratio<1,1000000000> > >)" (??6llvm@@YAAEAVraw_ostream@0@AEAV10@V?$time_point@Usystem_clock@chrono@std@@v?$duration@_JU?$ratio@$00$0DLJKMKAA@@std@@@23@@chrono@std@@@z) [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp__strdup [C:\Dev\Projects\cppinsights\build\insights.vcxproj]
[build] C:\Dev\Projects\cppinsights\build\insights.exe : fatal error LNK1120: 20 unresolved externals [C:\Dev\Projects\cppinsights\build\insights.vcxproj]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions