问题标签 [stlport]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1370 浏览

visual-studio-2008 - Has anyone already done the work to make STLPort build with VS2008 and/or an x64 build with VS2005?

At present it seems that VS2008 still isn't supported either in the 5.1.5 release or in the STLPort CVS repository. If someone has already done this work then it would be useful to share, if possible :)

Likewise it would be useful to know about the changes required for a VS2005 or 2008 x64 build.

0 投票
6 回答
3052 浏览

c++ - 使用 VC++ 2008 编译引用 STLport-5.1.4 的应用程序时出现 LNK2001 错误

我提前为这篇长文道歉......

当我们在 VS 菜单 > 工具 > 选项 > VC++ 目录 > 包含和库文件的目录下列出 STLPort 包含和库目录时,我曾经能够构建我们的 VC++ 解决方案(我们在 VS 2008 上)。但是,我们希望过渡到完全依赖 .vcproj 和 .sln 文件的构建过程。与必须在每台开发 PC 上单独配置的 VS 选项不同,这些可以检查到源代码控制中。我们通过将包含目录添加到每个项目的属性页 > 配置属性 > C/C++ > 常规 > 附加包含目录和库目录到链接器 > 常规 > 附加库目录来处理大多数库的转换。

不幸的是,这种方法不适用于 STLPort。我们在链接期间收到 LNK2019 和 LNK2001 错误:

这发生在将可执行项目链接到作为库项目的依赖项时。奇怪的是,在链接库项目本身时不会发生这种情况。有任何想法吗?

0 投票
3 回答
3026 浏览

c++ - 在 VS2008 中使用 STL 端口

我正在将我们的 C++ 代码从 eVC 4.0 移植到 Visual Studio 2008。我们的目标是 Windows Mobile 6.1,我们正在为我们的应用程序使用 Windows Mobile 6.0 SDK。

我们的代码在 eVC 4 中编译时使用了 stl 端口,如果可能的话,我们希望继续使用 stl 端口。

有谁知道在我们的应用程序中合并 STL 端口(5.2.1)需要哪些步骤。我们已经在解决方案中设置了包含目录(就像我们为 eVC 4.0 项目所做的那样),但是每当我们尝试将列表 push_back 或向量插入命令与我们自己的类一起使用时,我们都会看到错误(下面)(下面是错误与我们的类“TriangleBufferElement”)。这些命令似乎确实适用于 int、double 等本机类型。

我们确保所有类都具有正确的构造函数、复制构造函数、赋值运算符和比较运算符,并且看起来都是正确的。

有任何想法吗?

0 投票
1 回答
629 浏览

c++ - STLPORT 中可用的分配器,以及如何使用它们

我们正在使用 STLPORT 并且我们想更改 stlport 的默认分配器:而不是 vector<int>,我们想尝试 vector<int, otherallocator>

stlport 中提供了哪些替代分配器,它们有什么特点?我该如何使用它们?

0 投票
2 回答
374 浏览

c++ - STLport 崩溃(竞争条件,仅限达尔文?)

当我在 Darwin 上运行 STLport 时,我遇到了一个奇怪的崩溃。(除了在 Mac 上没见过,但在 i686 和 PowerPC 上都崩溃了。)这就是它在 gdb 中的样子:

可能是 STLport 中的一些设置,我注意到 Mac.h 和 MacOSX.h 在功能上似乎远远落后。我也知道它一定是某种类型的竞争条件,因为它不会仅仅通过调用这个方法(隐式调用)而发生。崩溃主要发生在我推送系统时,同时运行 10 个执行大量字符串处理的线程。

我提出的其他理论与编译器标志(配置脚本)和 g++ 4.2 错误有关(似乎 Mac 上还没有 4.4.3 并支持 Objective-C,我需要与之链接)。

帮助!!!:)

编辑:我运行单元测试,它做各种各样的事情。当我启动 10 个推送系统的线程时会出现这个问题;它总是归结为 std::string::append 最终归结为 _M_allocate。由于我什至无法得到导致问题的代码的下降转储,我认为我做错了。可能是因为它试图在指令指针 0x000...000 处执行吗?dynlib 是否在 Windows 中构建为带有跳转表的 DLL?会不会是这样的跳转表由于某种原因被覆盖了?这可能可以解释这种行为。(代码很大,如果我用完了其他想法,我会在这里发布一个最小崩溃示例。)

0 投票
2 回答
8322 浏览

c++ - 如何在我自己的容器类中使用 std::allocator

我正在尝试编写一个使用 STL 分配器的容器类。我目前所做的是拥有一个私人会员

(这稍后将被模板化,以便用户可以选择不同的分配器)然后调用

获取指向新分配的“T”对象的指针(并使用 alloc_.construct 调用构造函数;请参见下面的答案)。这适用于 GNU C++ 库。

但是,使用 Solaris 上的 STLPort,这无法正确执行并导致各种奇怪的内存损坏错误。如果我改为

然后一切正常。

使用 stl::allocator 的正确方法是什么?STLPort/Solaris 版本无法用 g++ 编译,但 g++ 对吗?

0 投票
0 回答
466 浏览

c++ - 如何确保您是针对 STLport 构建的

我正在使用 Visual C++ 2005 构建几个库和一个可执行文件。我将 STLport 位置包含在库的附加包含路径中,并将库包含在链接器的输入中以获取可执行文件。

然而,该库似乎引用了没有 stl 端口命名空间的 stl 符号(例如字符串)。这会导致链接器错误。

这些是 2 个库和可执行文件的命令行中的相关行:

这是一个错误示例。错误 7 错误 LNK2001: 无法解析的外部符号“public: virtual bool __thiscall Springfield::CClientFramework::ProviderRequest(class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > const &,class std::basic_string,class std::allocator > const &)" (?ProviderRequest@CClientFramework@Springfield@@UAE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2 @@std@@00@Z) FixAutorec.lib

这个符号 Springfield::CClientFramework::ProviderRequest 来自库 ClientArchitecture.lib 这就是 dumpbin.exe 显示这个符号的方式: (public: virtual bool __thiscall Springfield::CClientFramework::ProviderRequest(class stlpd_std::basic_string,class stlpd_std:: allocator > const &,class stlpd_std::basic_string,class stlpd_std::allocator > const &,class Springfield::IDataStoreNode const *))

请注意,正在寻找的符号定义了它的字符串 std::basic_string。而目的地将符号定义为 stlpd_std::basic_string。

谢谢

0 投票
3 回答
1489 浏览

c++ - std::string 插入方法有不明确的重载?

环境:VS2005 C++ 使用 STLPort 5.1.4。

编译以下代码片段:

我收到一个错误:

看来问题是对字符串对象的插入方法调用。

两个定义的重载是

但是鉴于 STLPort 使用一个简单的 char* 作为它的迭代器,我的代码中 insert 方法中的字面量零是不明确的。

因此,虽然我可以通过提示轻松克服问题,例如

我的问题是:规范中的这种重载和可能的歧义是故意的吗?或者更可能是特定 STLPort 实现的意外副作用?

(请注意,微软提供的 STL 没有这个问题,因为它有一个用于迭代器的类,而不是一个裸指针)

0 投票
2 回答
572 浏览

.net - 在托管 C++ 中使用 stlport

是否可以在托管 C++ DLL 中使用 stlport?

在我的项目中,我从 stlport 东西的链接器中收到了几个“未解决的令牌”错误。例如:

我检查了这些函数是否包含在 stlport 库/DLL 中,并且这些函数存在一个稍微不同的未修饰名称。所以我想调用约定有问题!?有任何想法吗?

0 投票
1 回答
196 浏览

c++ - Snow Leopard下编译STLport的问题

我正在尝试在 Snow Leopard 下构建最新版本的 stlprot。

我所做的编译步骤:

make && make check 工作正常。出现问题,如果我调用“sudo make install”,我会收到一个错误:

有人对stlport有过类似的问题吗?

PS我的系统规格:Snow Leopard 10.6.4 gcc版本:gcc version 4.2.1(Apple Inc. build 5664)