Git Product home page Git Product logo

rocky's People

Contributors

asherikov avatar gwaldron avatar jasonbeverage avatar paulwasabii avatar plevy avatar remoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rocky's Issues

compile error with c++20

When compile rdemo with cxxflage c++20,got the error

rocky/Utils.h(422): error C2665: “std::to_string”: 没有重载函数可以转换所有参数类型

the code is

Log()->info(std::to_string(std::this_thread::get_id()) + " : " + _me + " = " + std::to_string(d) + "us");

the type of std::thread_id can not convert to int float or double.
when conert to string, should use

std::hashstd::thread::id{}(std::this_thread::get_id())

or

std::stringstream ss;
ss << std::this_thread::get_id();
uint64_t id = std::stoull(ss.str());

And there another error of thread

rocky/Threading.h(465): error C2947: 应由“>”终止 模板参数列表,却找到“<”

compile output

checking for Microsoft Visual Studio (x64) version ... 2022
checking for Microsoft C/C++ Compiler (x64) version ... 19.38.33130
[ 25%]: compiling.release rdemo.cpp
error: rdemo.cpp
c:\dev\vs2022\include\rocky/Utils.h(422): error C2665: “std::to_string”: 没有重载函数可以转换所有参数类型
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(538): note: 可能是“std::string std::to_string(long double)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(long double)”: 无法将参数 1 从“std::thread::id”转换为“long double”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(534): note: 或    “std::string std::to_string(float)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(float)”: 无法将参数 1 从“std::thread::id”转换为“float”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(527): note: 或    “std::string std::to_string(double)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(double)”: 无法将参数 1 从“std::thread::id”转换为“double”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(523): note: 或    “std::string std::to_string(unsigned __int64)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(unsigned __int64)”: 无法将参数 1 从“std::thread::id”转换为“unsigned __int64”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(519): note: 或    “std::string std::to_string(__int64)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(__int64)”: 无法将参数 1 从“std::thread::id”转换为“__int64”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(515): note: 或    “std::string std::to_string(unsigned long)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(unsigned long)”: 无法将参数 1 从“std::thread::id”转换为“unsigned long”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(511): note: 或    “std::string std::to_string(long)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(long)”: 无法将参数 1 从“std::thread::id”转换为“long”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(507): note: 或    “std::string std::to_string(unsigned int)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(unsigned int)”: 无法将参数 1 从“std::thread::id”转换为“unsigned int”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\string(503): note: 或    “std::string std::to_string(int)”
c:\dev\vs2022\include\rocky/Utils.h(422): note: “std::string std::to_string(int)”: 无法将参数 1 从“std::thread::id”转换为“int”
c:\dev\vs2022\include\rocky/Utils.h(422): note: 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
c:\dev\vs2022\include\rocky/Utils.h(422): note: 尝试匹配参数列表“(std::thread::id)”时
c:\dev\vs2022\include\rocky/Utils.h(422): note: 模板实例化上下文(最早的实例化上下文)为
c:\dev\vs2022\include\rocky/Utils.h(425): note: 查看对正在编译的 类 模板 实例化“rocky::util::scoped_chrono<T>”的引用
c:\dev\vs2022\include\rocky/Threading.h(465): error C2947: 应由“>”终止 模板参数列表,却找到“<”
c:\dev\vs2022\include\rocky/Threading.h(465): error C2988: 不可识别的模板声明/定义
c:\dev\vs2022\include\rocky/Threading.h(465): error C2143: 语法错误: 缺少“)”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(465): error C2143: 语法错误: 缺少“;”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(465): error C2238: 意外的标记位于“;”之前
c:\dev\vs2022\include\rocky/Threading.h(465): error C2059: 语法错误:“&”
c:\dev\vs2022\include\rocky/Threading.h(465): error C2059: 语法错误:“)”
c:\dev\vs2022\include\rocky/Threading.h(465): error C2039: "type": 不是 "`global namespace'" 的成员
c:\dev\vs2022\include\rocky/Threading.h(467): error C2334: “{”的前面有意外标记;跳过明显的函数体
c:\dev\vs2022\include\rocky/Threading.h(475): error C2947: 应由“>”终止 模板参数列表,却找到“<”
c:\dev\vs2022\include\rocky/Threading.h(475): error C2988: 不可识别的模板声明/定义
c:\dev\vs2022\include\rocky/Threading.h(475): error C2143: 语法错误: 缺少“)”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(475): error C2143: 语法错误: 缺少“;”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(475): error C2238: 意外的标记位于“;”之前
c:\dev\vs2022\include\rocky/Threading.h(475): error C2059: 语法错误:“&”
c:\dev\vs2022\include\rocky/Threading.h(475): error C2059: 语法错误:“)”
c:\dev\vs2022\include\rocky/Threading.h(475): error C2039: "type": 不是 "`global namespace'" 的成员
c:\dev\vs2022\include\rocky/Threading.h(477): error C2334: “{”的前面有意外标记;跳过明显的函数体
c:\dev\vs2022\include\rocky/Threading.h(488): error C2947: 应由“>”终止 模板参数列表,却找到“<”
c:\dev\vs2022\include\rocky/Threading.h(488): error C2988: 不可识别的模板声明/定义
c:\dev\vs2022\include\rocky/Threading.h(488): error C2143: 语法错误: 缺少“)”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(488): error C2143: 语法错误: 缺少“;”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(488): error C2238: 意外的标记位于“;”之前
c:\dev\vs2022\include\rocky/Threading.h(488): error C2059: 语法错误:“&”
c:\dev\vs2022\include\rocky/Threading.h(488): error C2059: 语法错误:“)”
c:\dev\vs2022\include\rocky/Threading.h(488): error C2039: "type": 不是 "`global namespace'" 的成员
c:\dev\vs2022\include\rocky/Threading.h(490): error C2334: “{”的前面有意外标记;跳过明显的函数体
c:\dev\vs2022\include\rocky/Threading.h(507): error C2947: 应由“>”终止 模板参数列表,却找到“<”
c:\dev\vs2022\include\rocky/Threading.h(507): error C2988: 不可识别的模板声明/定义
c:\dev\vs2022\include\rocky/Threading.h(507): error C2143: 语法错误: 缺少“)”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(507): error C2143: 语法错误: 缺少“;”(在“&”的前面)
c:\dev\vs2022\include\rocky/Threading.h(507): error C2238: 意外的标记位于“;”之前
c:\dev\vs2022\include\rocky/Threading.h(507): error C2059: 语法错误:“&”
c:\dev\vs2022\include\rocky/Threading.h(507): error C2059: 语法错误:“)”
c:\dev\vs2022\include\rocky/Threading.h(507): error C2039: "type": 不是 "`global namespace'" 的成员
c:\dev\vs2022\include\rocky/Threading.h(509): error C2334: “{”的前面有意外标记;跳过明显的函数体
c:\dev\vs2022\include\rocky/Threading.h(567): error C2989: “rocky::util::job_scheduler”: 类 模板 已经声明为非类 模板
c:\dev\vs2022\include\rocky/Threading.h(386): note: 参见“rocky::util::job_scheduler”的声明
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\typeindex(77): error C3203: "type_index": 未指定的 类 模板 不能用作 模板 参数 "_Kty" 的 模板 参数,应为真实类型
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\typeindex(77): error C2908: 显式专用化;已实例化“std::hash<int>”
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\typeindex(77): error C2766: 显式专用化;已定义“std::hash<int>”
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\system_error(455): note: 参见“hash<int>”的前一个定义
c:\dev\vs2022\include\vsg/utils/SharedObjects.h(79): error C3203: "type_index": 未指定的 类 模板 不能用作 模板 参数 "_Kty" 的 模板 参 数,应为真实类型
c:\dev\vs2022\include\vsg/utils/SharedObjects.h(80): error C3203: "type_index": 未指定的 类 模板 不能用作 模板 参数 "_Kty" 的 模板 参 数,应为真实类型
c:\dev\vs2022\include\rocky/vsg/engine/Runtime.h(107): error C2440: “默认参数”: 无法从“initializer list”转换为“const rocky::util::job &”
c:\dev\vs2022\include\rocky/vsg/engine/Runtime.h(107): note: 原因如下: 无法从“initializer list”转换为“const rocky::util::job”
c:\dev\vs2022\include\rocky/vsg/engine/Runtime.h(107): note: 无效的聚合初始化
c:\dev\vs2022\include\rocky/vsg/engine/Utils.h(219): error C2059: 语法错误:“)”
c:\dev\vs2022\include\rocky/vsg/engine/Utils.h(219): note: 模板实例化上下文(最早的实例化上下文)为
c:\dev\vs2022\include\rocky/vsg/engine/Utils.h(256): note: 查看对正在编译的 类 模板 实例化“rocky::util::PromiseOperation<T>”的引用
c:\dev\vs2022\include\rocky/vsg/engine/Utils.h(234): error C2059: 语法错误:“)”
c:\dev\vs2022\include\rocky/vsg/engine/Utils.h(240): error C2059: 语法错误:“)”
D:\laboratory\rocky\rdemo\Demo_Stats.h(70): error C2664: “int sprintf(char *const ,const char *const ,...)”: 无法将参数 2 从“const char8_t [9]”转换为“const char *const ”
D:\laboratory\rocky\rdemo\Demo_Stats.h(70): note: 指向的类型不相关; 转换需要 reinterpret_cast、C 样式强制转换或带圆括号的函数样式强制 转换
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(1764): note: 参见“sprintf”的声明
D:\laboratory\rocky\rdemo\Demo_Stats.h(70): note: 尝试匹配参数列表“(char [256], const char8_t [9], unsigned __int64)”时
D:\laboratory\rocky\rdemo\Demo_Stats.h(73): error C2664: “int sprintf(char *const ,const char *const ,...)”: 无法将参数 2 从“const char8_t [9]”转换为“const char *const ”
D:\laboratory\rocky\rdemo\Demo_Stats.h(73): note: 指向的类型不相关; 转换需要 reinterpret_cast、C 样式强制转换或带圆括号的函数样式强制 转换
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(1764): note: 参见“sprintf”的声明
D:\laboratory\rocky\rdemo\Demo_Stats.h(73): note: 尝试匹配参数列表“(char [256], const char8_t [9], unsigned __int64)”时
D:\laboratory\rocky\rdemo\Demo_Stats.h(76): error C2664: “int sprintf(char *const ,const char *const ,...)”: 无法将参数 2 从“const char8_t [9]”转换为“const char *const ”
D:\laboratory\rocky\rdemo\Demo_Stats.h(76): note: 指向的类型不相关; 转换需要 reinterpret_cast、C 样式强制转换或带圆括号的函数样式强制 转换
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\ucrt\stdio.h(1764): note: 参见“sprintf”的声明
D:\laboratory\rocky\rdemo\Demo_Stats.h(76): note: 尝试匹配参数列表“(char [256], const char8_t [9], unsigned __int64)”时
D:\laboratory\rocky\rdemo\Demo_Stats.h(98): error C2955: “rocky::util::job_metrics”: 使用 类 模板 需要 模板 参数列表
c:\dev\vs2022\include\rocky/Threading.h(519): note: 参见“rocky::util::job_metrics”的声明
D:\laboratory\rocky\rdemo\Demo_Stats.h(98): error C2027: 使用了未定义类型“rocky::util::job_metrics”
c:\dev\vs2022\include\rocky/Threading.h(519): note: 参见“rocky::util::job_metrics”的声明
D:\laboratory\rocky\rdemo\Demo_Stats.h(98): error C3861: “get”: 找不到标识符
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): error C2672: “begin”: 未找到匹配的重载函数
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xutility(1824): note: 可能是“_Ty *std::begin(_Ty (&)[_Size]) noexcept”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “_Ty *std::begin(_Ty (&)[_Size]) noexcept”: 无法从“unknown-type”推导出“_Ty (&)[_Size]”的 模板 参数
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xutility(1806): note: 或    “unknown-type std::begin(const _Container &) noexcept(<expr>)”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 未能使函数模板“unknown-type std::begin(const _Container &) noexcept(<expr>)”专用化
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 用下列模板参数:
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “_Container=unknown-type”
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xutility(1800): note: 或    “unknown-type std::begin(_Container &) noexcept(<expr>)”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 未能使函数模板“unknown-type std::begin(_Container &) noexcept(<expr>)”专用化
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 用下列模板参数:
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “_Container=unknown-type”
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\initializer_list(54): note: 或    “const _Elem *std::begin(std::initializer_list<_Elem>) noexcept”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “const _Elem *std::begin(std::initializer_list<_Elem>) noexcept”: 无法从“unknown-type”推导出“std::initializer_list<_Elem>”的 模板 参数
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): error C2672: “end”: 未找到匹配的重载函数
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xutility(1829): note: 可能是“_Ty *std::end(_Ty (&)[_Size]) noexcept”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “_Ty *std::end(_Ty (&)[_Size]) noexcept”: 无法从“unknown-type”推导出“_Ty (&)[_Size]”的 模板 参数
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xutility(1818): note: 或    “unknown-type std::end(const _Container &) noexcept(<expr>)”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 未能使函数模板“unknown-type std::end(const _Container &) noexcept(<expr>)”专用化
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 用下列模板参数:
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “_Container=unknown-type”
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\xutility(1812): note: 或    “unknown-type std::end(_Container &) noexcept(<expr>)”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 未能使函数模板“unknown-type std::end(_Container &) noexcept(<expr>)”专用化
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: 用下列模板参数:
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “_Container=unknown-type”
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.38.33130\include\initializer_list(59): note: 或    “const _Elem *std::end(std::initializer_list<_Elem>) noexcept”
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): note: “const _Elem *std::end(std::initializer_list<_Elem>) noexcept”: 无法从“unknown-type”推导出“std::initializer_list<_Elem>”的 模板 参数
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): error C3536: “<begin>$L0”: 初始化之前无法使用
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): error C3536: “<end>$L0”: 初始化之前无法使用
D:\laboratory\rocky\rdemo\Demo_Stats.h(101): error C2100: 非法的间接寻址
D:\laboratory\rocky\rdemo\Demo_Stats.h(105): warning C4473: “sprintf”: 没有为格式字符串传递足够的参数
D:\laboratory\rocky\rdemo\Demo_Stats.h(105): note: 占位符和其参数预计 3 可变参数,但提供的却是 0 参数
D:\laboratory\rocky\rdemo\Demo_Stats.h(105): note: 缺失的可变参数 1 为格式字符串“%d”所需

clang (XCode 14) compile errors

1

Error: "Incomplete type 'rocky::util::job_scheduler' named in nested name specifier" at job_scheduler::Delegate delegate = [task, promise]() mutable ...
https://github.com/pelicanmapping/rocky/blob/main/src/rocky/Threading.h#L488

because

https://github.com/pelicanmapping/rocky/blob/main/src/rocky/Threading.h#L572

"using Delegate" is not forward declared and can't be forward declared:

https://github.com/pelicanmapping/rocky/blob/main/src/rocky/Threading.h#L397

2

Error: Use of undeclared identifier 'options'

 template<typename T>
 T Layer::userProperty(const std::string& key, T fallback) const {
    return options()._internal().value(key, fallback);
 }

3

rocky/srs.h

static const SRS WGS84;
Error: duplicated member WGS84

need to delete:

        static const SRS WGS84;
        static const SRS ECEF;
        static const SRS SPHERICAL_MERCATOR;
        static const SRS PLATE_CARREE;
        static const SRS EMPTY;

SRS& SRS::operator=(SRS&&);

Error: extra qualification on member 'operator='

need to change:

`SRS& operator=(SRS&&);``

4

rocky/Heightfield.h

     template<typename FUNC>
     void Heightfield::forEachHeight(FUNC func) const
     {
-        float* ptr = data<float>();
+        const float* ptr = data<float>();
         for (auto i = 0u; i < sizeInPixels(); ++i, ++ptr)
             func(*ptr);
     }

5

rocky/Image.h

     template<typename UV_TYPE, typename ST_TYPE>
     void Image::nnUVtoST(UV_TYPE u, UV_TYPE v, ST_TYPE& s, ST_TYPE& t)
     {
-        const UV_TYPE umin = 1.0 / (2.0 * width);
-        const UV_TYPE vmin = 1.0 / (2.0 * height);
-        s = u<umin ? 0 : u>(1.0 - umin) ? width - 1 : (int)floor(u*(double)width);
-        t = v<vmin ? 0 : v>(1.0 - vmin) ? height - 1 : (int)floor(v*(double)height);
+        const UV_TYPE umin = 1.0 / (2.0 * width());
+        const UV_TYPE vmin = 1.0 / (2.0 * height());
+        s = u<umin ? 0 : u>(1.0 - umin) ? width() - 1 : (int)floor(u*(double)width());
+        t = v<vmin ? 0 : v>(1.0 - vmin) ? height() - 1 : (int)floor(v*(double)height());
 
     }

6

rocky/IOTypes.h

        bool fromCache = false;
        JSON metadata;

-       template<typename T>
        IOResult(const T& result) :
            Result<T>(result) { }

For this I can't do a PR. I will try to compile it further after the issues are fixed ...

Error: Did you set ROCKY_FILE_PATH to point at the rocky share folder?

Issue I am facing:

I get the following error when running rsimple.exe, I can't also run rdemo.exe and rengine.exe.:

FATAL ASSERTION FAILURE (InstanceVSG @ InstanceVSG.cpp:190) Line shaders are missing or corrupt. Did you set ROCKY_FILE_PATH to point at the rocky share folder?

How I have built the project and setup the paths:

I have followed the build steps mentioned in the Readme file, I have got the following files in the build->bin->Release folder:

image

I have set the ROCKY_FILE_PATH to the share folder in build->bin->Release as shown above in the snapshot.
The share folder had nothing in it so I copied shaders folder from rocky/src/rocky_vsg/ to build->bin->Release->share.

Similarly, I have set PROJ_DATA to build->bin->Release->proj but proj directory is also empty and I don't know what to copy in it.

And I have set ROCKY_DEFAULT_FONT to C:/windows/fonts/arialbd.ttf

Initial Download

I downloaded Rocky on 8/23/2023 and starting playing with it.

Seems very fast. Looks impressive. Some issues I ran into include:

  1. URI.cpp does not build. Need to change text httplib::detail::status_message to httplib::status_message.
  2. The example rdemo immediately asserts in debug mode. It asserts in Log::Log because the code is attempting to log an error message before the logger is instantiated. It is attempting to log an error message because the creation of the global SRS::WGS84 fails. The global fails because install fails to copy proj.db in the location expected by a debug build. The release and debug use different paths to locate files.
  3. The example rdemo asserts in debug mode, missing ImGui::End() in MainGUI::record.
  4. The rdemo quickly goes well over 1GB of memory by just changing view locations.
  5. I was getting a lot of crashes, but updating the graphics drive reduced the frequency of the crashes. Still crashes, just less frequently.

"The ordinal 125 could not be located in... gdlad.dll"

I probably did something dumb, but having a hard time getting rdemo.exe to run successfully.

  • cloned the latest rocky repo from github
  • ran bootstrap-vcpkg.bat successfully (after a few retries due to Visual Studio 2022's compiler crashing sporadically)
  • built the debug target and set the required environment variables
  • ran rdemo.exe from the install/bin directory

This results in a popup at startup saying "The ordinal 125 could not be located in the dynamic link library e:\rocky\install\bin\gdlad.dll"

Is this a bad dependency, or did I mess up?

Can't build with VS2019 / vcpkg

Can't build with VS2019 / vcpkg:

\src\rocky>bootstrap-vcpkg -S . -B _build -I _install -G "Visual Studio 16 2019" -A x64
Source location = \src\rocky
Build location = \src\rocky\_build
Install location = \src\rocky\_install
Compiler = Visual Studio 16 2019
Architecture = x64
Continue? [Y,N]?Y
-- Building with vcpkg toolchain.
-- Running vcpkg install
error: Unrecognized identifer name xbox. Add to override list in triplet file.
Detecting compiler hash for triplet x64-windows...
The following packages will be built and installed:
  * assimp[core]:x64-windows -> 5.2.5
  * boost-assert[core]:x64-windows -> 1.82.0#1
  * boost-config[core]:x64-windows -> 1.82.0#1
  * boost-core[core]:x64-windows -> 1.82.0#1
  * boost-move[core]:x64-windows -> 1.82.0#1
  * boost-smart-ptr[core]:x64-windows -> 1.82.0#1
  * boost-static-assert[core]:x64-windows -> 1.82.0#1
  * boost-throw-exception[core]:x64-windows -> 1.82.0#1
  * boost-type-traits[core]:x64-windows -> 1.82.0#1
  * boost-uninstall[core]:x64-windows -> 1.82.0#1
  * boost-vcpkg-helpers[core]:x64-windows -> 1.82.0#1
  * brotli[core]:x64-windows -> 1.0.9#5
  * bzip2[core,tool]:x64-windows -> 1.0.8#4
    cpp-httplib[core]:x64-windows -> 0.12.0#1 -- /src/rocky/vcpkg/ports\cpp-httplib
  * curl[core,non-http,schannel,ssl,sspi]:x64-windows -> 8.0.1
  * draco[core]:x64-windows -> 1.5.3
  * expat[core]:x64-windows -> 2.5.0#3
  * freexl[core]:x64-windows -> 1.0.6#2
    gdal[core,curl,default-features,expat,geos,gif,hdf5,iconv,jpeg,lerc,libkml,libspatialite,libxml2,lzma,netcdf,openjpeg,openssl,pcre2,png,postgresql,qhull,recommended-features,sqlite3,webp,zstd]:x64-windows -> 3.6.4
  * geos[core]:x64-windows -> 3.11.1
  * giflib[core]:x64-windows -> 5.2.1#3
    glm[core]:x64-windows -> 0.9.9.8#2
  * hdf5[core,cpp,szip,zlib]:x64-windows -> 1.14.0#1
  * json-c[core]:x64-windows -> 2022-06-26#3
  * kubazip[core]:x64-windows -> 0.2.4
  * lerc[core]:x64-windows -> 4.0#1
  * libgeotiff[core]:x64-windows -> 1.7.1#2
  * libiconv[core]:x64-windows -> 1.17#1
  * libjpeg-turbo[core]:x64-windows -> 2.1.5.1#1
  * libkml[core]:x64-windows -> 1.3.0#12
  * liblzma[core]:x64-windows -> 5.4.1#1
  * libpng[core]:x64-windows -> 1.6.39#1
  * libpq[core,lz4,openssl,zlib]:x64-windows -> 15.2#3
  * libspatialite[core,freexl,geocallbacks]:x64-windows -> 5.0.1#12
  * libwebp[core,libwebpmux,nearlossless,simd,unicode]:x64-windows -> 1.3.0
  * libxml2[core,http,iconv,lzma,zlib]:x64-windows -> 2.10.3#1
  * lz4[core]:x64-windows -> 1.9.4#1
  * minizip[core]:x64-windows -> 1.2.13#1
  * netcdf-c[core,dap,hdf5,nczarr,netcdf-4,platform-default-features]:x64-windows -> 4.8.1#3
    nlohmann-json[core]:x64-windows -> 3.11.2
  * openjpeg[core]:x64-windows -> 2.5.0
    openssl[core]:x64-windows -> 3.1.0#3
  * pcre2[core]:x64-windows -> 10.40#1
  * pkgconf[core]:x64-windows -> 1.8.0#5
  * poly2tri[core]:x64-windows -> 2020-07-21#3
    proj[core,net,tiff]:x64-windows -> 9.2.0
  * pugixml[core]:x64-windows -> 1.13.0
  * qhull[core]:x64-windows -> 8.0.2#4
  * rapidjson[core]:x64-windows -> 2023-04-27
    sqlite3[core,rtree,tool]:x64-windows -> 3.40.1#3
  * stb[core]:x64-windows -> 2023-04-11#1
  * szip[core]:x64-windows -> 2.1.1#11
  * tiff[core,jpeg,lzma,zip]:x64-windows -> 4.5.0#3
    tinyxml[core]:x64-windows -> 2.6.2#10
  * uriparser[core]:x64-windows -> 0.9.7
  * utfcpp[core]:x64-windows -> 3.2.3
  * vcpkg-cmake[core]:x64-windows -> 2022-12-22
  * vcpkg-cmake-config[core]:x64-windows -> 2022-02-06#1
  * vcpkg-cmake-get-vars[core]:x64-windows -> 2023-03-02
  * vcpkg-pkgconfig-get-modules[core]:x64-windows -> 2022-02-10#1
  * vcpkg-tool-meson[core]:x64-windows -> 0.63
    vsg[core]:x64-windows -> 1.0.5 -- /src/rocky/vcpkg/ports\vsg
    vsgimgui[core]:x64-windows -> 0.0.0 -- /src/rocky/vcpkg/ports\vsgimgui
    vsgxchange[core]:x64-windows -> 1.0.1 -- /src/rocky/vcpkg/ports\vsgxchange
  * vulkan[core]:x64-windows -> 1.1.82.1#6
    zlib[core]:x64-windows -> 1.2.13
  * zstd[core]:x64-windows -> 1.5.4#2
Additional packages (*) will be modified to complete this operation.
Restored 67 package(s) from C:\Users\NA\AppData\Local\vcpkg\archives in 17.54 s. Use --debug to see more details.
Installing 1/67 vcpkg-cmake-config:x64-windows...
Elapsed time to handle vcpkg-cmake-config:x64-windows: 14.39 ms
Installing 2/67 vcpkg-cmake:x64-windows...
Elapsed time to handle vcpkg-cmake:x64-windows: 20.48 ms
Installing 3/67 brotli:x64-windows...
Elapsed time to handle brotli:x64-windows: 106.5 ms
Installing 4/67 cpp-httplib:x64-windows...
Elapsed time to handle cpp-httplib:x64-windows: 23.54 ms
Installing 5/67 zstd:x64-windows...
Elapsed time to handle zstd:x64-windows: 66.51 ms
Installing 6/67 libwebp:x64-windows...
Elapsed time to handle libwebp:x64-windows: 142.4 ms
Installing 7/67 sqlite3:x64-windows...
Elapsed time to handle sqlite3:x64-windows: 71.65 ms
Installing 8/67 qhull:x64-windows...
Elapsed time to handle qhull:x64-windows: 135.2 ms
Installing 9/67 zlib:x64-windows...
Elapsed time to handle zlib:x64-windows: 36.12 ms
Installing 10/67 vcpkg-cmake-get-vars:x64-windows...
Elapsed time to handle vcpkg-cmake-get-vars:x64-windows: 22.53 ms
Installing 11/67 openssl:x64-windows...
Elapsed time to handle openssl:x64-windows: 366.6 ms
Installing 12/67 lz4:x64-windows...
Elapsed time to handle lz4:x64-windows: 43.38 ms
Installing 13/67 libpq:x64-windows...
Elapsed time to handle libpq:x64-windows: 1.235 s
Installing 14/67 libpng:x64-windows...
Elapsed time to handle libpng:x64-windows: 67.99 ms
Installing 15/67 bzip2:x64-windows...
Elapsed time to handle bzip2:x64-windows: 47.18 ms
Installing 16/67 pcre2:x64-windows...
Elapsed time to handle pcre2:x64-windows: 117.4 ms
Installing 17/67 openjpeg:x64-windows...
Elapsed time to handle openjpeg:x64-windows: 56.34 ms
Installing 18/67 vcpkg-tool-meson:x64-windows...
Elapsed time to handle vcpkg-tool-meson:x64-windows: 1.027 s
Installing 19/67 pkgconf:x64-windows...
Elapsed time to handle pkgconf:x64-windows: 54.41 ms
Installing 20/67 vcpkg-pkgconfig-get-modules:x64-windows...
Elapsed time to handle vcpkg-pkgconfig-get-modules:x64-windows: 23.54 ms
Installing 21/67 szip:x64-windows...
Elapsed time to handle szip:x64-windows: 50.56 ms
Installing 22/67 hdf5:x64-windows...
Elapsed time to handle hdf5:x64-windows: 401.5 ms
Installing 23/67 curl:x64-windows...
Elapsed time to handle curl:x64-windows: 106.1 ms
Installing 24/67 netcdf-c:x64-windows...
Elapsed time to handle netcdf-c:x64-windows: 81.05 ms
Installing 25/67 liblzma:x64-windows...
Elapsed time to handle liblzma:x64-windows: 76.71 ms
Installing 26/67 libiconv:x64-windows...
Elapsed time to handle libiconv:x64-windows: 79.8 ms
Installing 27/67 libxml2:x64-windows...
Elapsed time to handle libxml2:x64-windows: 199.9 ms
Installing 28/67 freexl:x64-windows...
Elapsed time to handle freexl:x64-windows: 35.3 ms
Installing 29/67 libjpeg-turbo:x64-windows...
Elapsed time to handle libjpeg-turbo:x64-windows: 96.67 ms
Installing 30/67 tiff:x64-windows...
Elapsed time to handle tiff:x64-windows: 72.56 ms
Installing 31/67 nlohmann-json:x64-windows...
Elapsed time to handle nlohmann-json:x64-windows: 91.47 ms
Installing 32/67 proj:x64-windows...
Elapsed time to handle proj:x64-windows: 366.2 ms
Installing 33/67 geos:x64-windows...
Elapsed time to handle geos:x64-windows: 897.9 ms
Installing 34/67 libspatialite:x64-windows...
Elapsed time to handle libspatialite:x64-windows: 232.5 ms
Installing 35/67 uriparser:x64-windows...
Elapsed time to handle uriparser:x64-windows: 54.73 ms
Installing 36/67 minizip:x64-windows...
Elapsed time to handle minizip:x64-windows: 64.87 ms
Installing 37/67 expat:x64-windows...
Elapsed time to handle expat:x64-windows: 57.6 ms
Installing 38/67 boost-uninstall:x64-windows...
Elapsed time to handle boost-uninstall:x64-windows: 36.08 ms
Installing 39/67 boost-vcpkg-helpers:x64-windows...
Elapsed time to handle boost-vcpkg-helpers:x64-windows: 31.49 ms
Installing 40/67 boost-config:x64-windows...
Elapsed time to handle boost-config:x64-windows: 377.8 ms
Installing 41/67 boost-static-assert:x64-windows...
Elapsed time to handle boost-static-assert:x64-windows: 34.38 ms
Installing 42/67 boost-type-traits:x64-windows...
Elapsed time to handle boost-type-traits:x64-windows: 311 ms
Installing 43/67 boost-assert:x64-windows...
Elapsed time to handle boost-assert:x64-windows: 47.61 ms
Installing 44/67 boost-throw-exception:x64-windows...
Elapsed time to handle boost-throw-exception:x64-windows: 44.52 ms
Installing 45/67 boost-move:x64-windows...
Elapsed time to handle boost-move:x64-windows: 90.66 ms
Installing 46/67 boost-core:x64-windows...
Elapsed time to handle boost-core:x64-windows: 169.5 ms
Installing 47/67 boost-smart-ptr:x64-windows...
Elapsed time to handle boost-smart-ptr:x64-windows: 210.7 ms
Installing 48/67 libkml:x64-windows...
Elapsed time to handle libkml:x64-windows: 971 ms
Installing 49/67 lerc:x64-windows...
Elapsed time to handle lerc:x64-windows: 53.88 ms
Installing 50/67 giflib:x64-windows...
Elapsed time to handle giflib:x64-windows: 45.96 ms
Installing 51/67 libgeotiff:x64-windows...
Elapsed time to handle libgeotiff:x64-windows: 84.38 ms
Installing 52/67 json-c:x64-windows...
Elapsed time to handle json-c:x64-windows: 85.48 ms
Installing 53/67 gdal:x64-windows...
Elapsed time to handle gdal:x64-windows: 1.886 s
Installing 54/67 glm:x64-windows...
Elapsed time to handle glm:x64-windows: 799.8 ms
Installing 55/67 tinyxml:x64-windows...
Elapsed time to handle tinyxml:x64-windows: 57.25 ms
Installing 56/67 vulkan:x64-windows...
Elapsed time to handle vulkan:x64-windows: 33.83 ms
Installing 57/67 vsg:x64-windows...
Elapsed time to handle vsg:x64-windows: 1.202 s
Installing 58/67 vsgimgui:x64-windows...
Elapsed time to handle vsgimgui:x64-windows: 170.8 ms
Installing 59/67 utfcpp:x64-windows...
Elapsed time to handle utfcpp:x64-windows: 44.56 ms
Installing 60/67 stb:x64-windows...
Elapsed time to handle stb:x64-windows: 66.17 ms
Installing 61/67 rapidjson:x64-windows...
Elapsed time to handle rapidjson:x64-windows: 76.89 ms
Installing 62/67 pugixml:x64-windows...
Elapsed time to handle pugixml:x64-windows: 70.7 ms
Installing 63/67 poly2tri:x64-windows...
Elapsed time to handle poly2tri:x64-windows: 51.74 ms
Installing 64/67 kubazip:x64-windows...
Elapsed time to handle kubazip:x64-windows: 41.91 ms
Installing 65/67 draco:x64-windows...
Elapsed time to handle draco:x64-windows: 988.2 ms
Installing 66/67 assimp:x64-windows...
Elapsed time to handle assimp:x64-windows: 808.8 ms
Installing 67/67 vsgxchange:x64-windows...
Elapsed time to handle vsgxchange:x64-windows: 160.3 ms
Total install time: 33.24 s
cpp-httplib provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(httplib CONFIG REQUIRED)
    target_link_libraries(main PRIVATE httplib::httplib)

sqlite3 provides pkgconfig bindings.
sqlite3 provides CMake targets:

    find_package(unofficial-sqlite3 CONFIG REQUIRED)
    target_link_libraries(main PRIVATE unofficial::sqlite3::sqlite3)

The package zlib is compatible with built-in CMake targets:

    find_package(ZLIB REQUIRED)
    target_link_libraries(main PRIVATE ZLIB::ZLIB)

The package openssl is compatible with built-in CMake targets:

    find_package(OpenSSL REQUIRED)
    target_link_libraries(main PRIVATE OpenSSL::SSL OpenSSL::Crypto)

The package nlohmann-json provides CMake targets:

    find_package(nlohmann_json CONFIG REQUIRED)
    target_link_libraries(main PRIVATE nlohmann_json::nlohmann_json)

The package nlohmann-json can be configured to not provide implicit conversions via a custom triplet file:

    set(nlohmann-json_IMPLICIT_CONVERSIONS OFF)

For more information, see the docs here:

    https://json.nlohmann.me/api/macros/json_use_implicit_conversions/

proj provides CMake targets:

    find_package(PROJ CONFIG REQUIRED)
    target_link_libraries(main PRIVATE PROJ::proj)

The package GDAL provides CMake targets:

    find_package(GDAL CONFIG REQUIRED)
    target_link_libraries(main PRIVATE GDAL::GDAL)

glm provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(glm CONFIG REQUIRED)
    target_link_libraries(main PRIVATE glm::glm)

tinyxml provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(tinyxml CONFIG REQUIRED)
    target_link_libraries(main PRIVATE unofficial-tinyxml::unofficial-tinyxml)

vsg provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(vsg CONFIG REQUIRED)
    target_link_libraries(main PRIVATE vsg::vsg)

vsgimgui provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(vsgImGui CONFIG REQUIRED)
    target_link_libraries(main PRIVATE vsgImGui::vsgImGui)

vsgxchange provides CMake targets:

    # this is heuristically generated, and may not be correct
    find_package(vsgXchange CONFIG REQUIRED)
    target_link_libraries(main PRIVATE vsgXchange::vsgXchange)

-- Running vcpkg install - done
-- Selecting Windows SDK version 10.0.22000.0 to target Windows 10.0.22621.
-- The CXX compiler identification is MSVC 19.29.30147.0
-- The C compiler identification is MSVC 19.29.30147.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Error at /vcpkg/scripts/buildsystems/vcpkg.cmake:852 (_find_package):
  Could not find a configuration file for package "PROJ" that is compatible
  with requested version "".

  The following configuration files were considered but not accepted:

    /src/rocky/_build/vcpkg_installed/x64-windows/share/proj/proj-config.cmake, version: 9.2.0 (MSVC_TOOLSET_VERSION = 143)

Call Stack (most recent call first):
  CMakeLists.txt:52 (find_package)


-- Configuring incomplete, errors occurred!
See also "/src/rocky/_build/CMakeFiles/CMakeOutput.log".

Crash Line String Relative

I am using Visual Studio 2022. I had already turn on/off many features, but when I turned the Line String on for the first time it crashed. I have not been able to recreate the issue. See below for a screen shot.

image

error: building pkgconf:x64-windows failed with: BUILD_FAILED

  1. Clone the rocky repo.
  2. Installed vcpkg
  3. Installed Vulkan SDK
  4. ran bootstrap.bat

Getting the following error:

CMake Error at scripts/cmake/vcpkg_copy_tool_dependencies.cmake:31 (message):
Could not find PowerShell Core; please open an issue to report this.
Call Stack (most recent call first):
scripts/cmake/vcpkg_copy_tools.cmake:48 (vcpkg_copy_tool_dependencies)
ports/pkgconf/portfile.cmake:79 (vcpkg_copy_tools)
scripts/ports.cmake:175 (include)

error: building pkgconf:x64-windows failed with: BUILD_FAILED
Elapsed time to handle pkgconf:x64-windows: 11 s
Please ensure you're using the latest port files with git pull and vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+pkgconf
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?title=[pkgconf]+Build+error+on+x64-windows&body=Copy+issue+body+from+D%3A%2FWorkspace%2Fother%2Fbuild%2Fvcpkg_installed%2Fvcpkg%2Fissue_body.md

-- Running vcpkg install - failed
CMake Error at D:/Workspace/other/vcpkg/scripts/buildsystems/vcpkg.cmake:899 (message):
vcpkg install failed. See logs for more information:
D:\Workspace\other\build\vcpkg-manifest-install.log
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.29/Modules/CMakeDetermineSystem.cmake:146 (include)
CMakeLists.txt:11 (project)

-- Configuring incomplete, errors occurred!

Loading Terrain Crash

I started rdemo and while still loading the terrain I got a crash. In the console I see:

Warning: Allocator::MemoryBlock::deallocate(000002238D90D628) problem - couldn't release
Warning: Allocator::MemoryBlock::deallocate(000002238D063F20) problem - couldn't release
Warning: Allocator::MemoryBlock::deallocate(000002238D0078A0) problem - couldn't release
Warning: Allocator::MemoryBlock::deallocate(000002238D064418) problem - couldn't release
Warning: Allocator::MemoryBlock::deallocate(000002238D064038) problem - couldn't release

The stack track show a moves on to itself, which does not look correct (second screen shot).

image

image
image

random crash in rocky while zooming and panning

While running rocky, I'm noticing a random crash while panning around on the Earth (see attached image below on details).

I'm seeing this running the rdemo.exe and rengine.exe apps. It appears to happen at different times during execution but it happens regularly at the same location in the code (vsg).

My environment...
OS: Windows 10
IDE: Visual Studio 2022
Configuration: RelWithDebInfo
Platform: x64

RockyCrashCapture

Immediate Hang At Start Up

I started rdemo and it immediately hanged without any user interaction. The main thread is stuck in vsg::ThreadSafeQueue::take_when_available(). It never leaves the "while(_queue.empty() && _status->active())" loop.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.