std::vector 在 Tizen 中包含什么库?
What library to include for std::vector in Tizen?
我想将 std::vector 用于我使用 Tizen 创建的应用程序,但我找不到要包含的正确库来识别我的 std::vector...
我有一个语法错误...
是否有 Tizen 特有的 std::vector 等价物?我在网上搜索但没有找到任何东西...
我试过 #include <vector>
Tizen 无法识别它,这就是我的问题所在,因为在 "normal" C++ 中它工作正常。只有我将 Tizen 与 Tizen IDE(Eclipse 插件)一起使用,它无法识别该库,所以我想知道我需要包含哪个库(我遇到了一个致命错误:找不到文件时我使用我提到的包含)。
我无法 post 图片,所以这里是错误消息的文字记录:
type name requires a specifier or qualifier
syntax error
expected expression"
关于这一行的所有内容:
std::vector<int> vect;
好的,我找到了答案。似乎 Tizen 使用的是 C 而不是 C++...我没有看到它,因为我在用 C++ 编写代码时有时会使用的一些库被包含在其中,就像它们应该包含的那样。无论如何,我现在只需要找到 vector 的 C 等价物,我的问题就会得到解决。
你说:我在网上搜索,但我没有找到任何东西......
Google "std::vector" 第一击是
http://en.cppreference.com/w/cpp/container/vector
其中说:
定义于header<vector>
所以答案是:学会使用Google。
https://developer.tizen.org/dev-guide/2.2.0/
The Tizen C++ application supports C++ based on the Standard C++ ANSI ISO 14882 2003, which includes the Standard Template Library (STL). This helps developers migrate the pre-existing standard library based applications to the Tizen platform with minimum effort.
More specifically, Tizen supports complete set of libstdc++v3 comprising of standard C++ functions specified in the Standard C++ ANSI ISO 14882 2003 and the entire Standard Template Library (http://www.sgi.com/tech/stl/).
These methods can be used by including the relevant header file in a standard manner, for example, "#include <stdio>
".
Support for standard C++ library extended to complete set of libstdc++v3 modules, namespaces and classes.
For more information, refer to this Web site.
Remarks:
The locale based feature is not supported in Tizen.
所以 #include <vector>
应该可以正常工作。
既然你说你不能包含 any C++ 头文件,我怀疑问题是编译器将你的代码编译为 C 而不是 C++。确认您的文件具有 .cpp 扩展名,并在项目中查看该文件的属性以确认 IDE 将该文件视为 C++。 (我不知道那个设置在哪里,我没有 Eclipse)。 This link says to delete your project and create a C++ project instead of a C project, then re-import your files. This link 表示您可以设置 "File Type",但也暗示它不太有效。
我认为错误的答案被接受了...线索在 OP 使用的标签中。
Tizen studio 使用的编译器根据文件扩展名确定源文件或 header 文件是 C 还是 C++。因此,如果您的 header 文件是 .h 并且您包含 < vector > 那么编译器会报错,因为没有适用于 vector 的 C 等效库。
如果您将 header 重命名为 .hpp,或者将您的源重命名为 .cpp,然后重新编译,那么它将编译无误。
我想将 std::vector 用于我使用 Tizen 创建的应用程序,但我找不到要包含的正确库来识别我的 std::vector... 我有一个语法错误... 是否有 Tizen 特有的 std::vector 等价物?我在网上搜索但没有找到任何东西...
我试过 #include <vector>
Tizen 无法识别它,这就是我的问题所在,因为在 "normal" C++ 中它工作正常。只有我将 Tizen 与 Tizen IDE(Eclipse 插件)一起使用,它无法识别该库,所以我想知道我需要包含哪个库(我遇到了一个致命错误:找不到文件时我使用我提到的包含)。
我无法 post 图片,所以这里是错误消息的文字记录:
type name requires a specifier or qualifier
syntax error
expected expression"
关于这一行的所有内容:
std::vector<int> vect;
好的,我找到了答案。似乎 Tizen 使用的是 C 而不是 C++...我没有看到它,因为我在用 C++ 编写代码时有时会使用的一些库被包含在其中,就像它们应该包含的那样。无论如何,我现在只需要找到 vector 的 C 等价物,我的问题就会得到解决。
你说:我在网上搜索,但我没有找到任何东西......
Google "std::vector" 第一击是
http://en.cppreference.com/w/cpp/container/vector 其中说:
定义于header<vector>
所以答案是:学会使用Google。
https://developer.tizen.org/dev-guide/2.2.0/
The Tizen C++ application supports C++ based on the Standard C++ ANSI ISO 14882 2003, which includes the Standard Template Library (STL). This helps developers migrate the pre-existing standard library based applications to the Tizen platform with minimum effort.
More specifically, Tizen supports complete set of libstdc++v3 comprising of standard C++ functions specified in the Standard C++ ANSI ISO 14882 2003 and the entire Standard Template Library (http://www.sgi.com/tech/stl/).
These methods can be used by including the relevant header file in a standard manner, for example, "
#include <stdio>
". Support for standard C++ library extended to complete set of libstdc++v3 modules, namespaces and classes. For more information, refer to this Web site.Remarks: The locale based feature is not supported in Tizen.
所以 #include <vector>
应该可以正常工作。
既然你说你不能包含 any C++ 头文件,我怀疑问题是编译器将你的代码编译为 C 而不是 C++。确认您的文件具有 .cpp 扩展名,并在项目中查看该文件的属性以确认 IDE 将该文件视为 C++。 (我不知道那个设置在哪里,我没有 Eclipse)。 This link says to delete your project and create a C++ project instead of a C project, then re-import your files. This link 表示您可以设置 "File Type",但也暗示它不太有效。
我认为错误的答案被接受了...线索在 OP 使用的标签中。
Tizen studio 使用的编译器根据文件扩展名确定源文件或 header 文件是 C 还是 C++。因此,如果您的 header 文件是 .h 并且您包含 < vector > 那么编译器会报错,因为没有适用于 vector 的 C 等效库。
如果您将 header 重命名为 .hpp,或者将您的源重命名为 .cpp,然后重新编译,那么它将编译无误。