在我的c++代码中同时使用c++rest和python库时,我得到了一个未定义函数“tolower”的错误。 我理解是因为在python pyport.h中
#undef tolower
#define tolower(c) towlower(btowc(c))
但同时c++rest/asyncrt_实用程序.cppcmp类中有一个名为tolower的私有方法。你知道吗
class cmp
{
public:
static int icmp(std::string left, std::string right)
{
size_t i;
for (i = 0; i < left.size(); ++i)
{
if (i == right.size()) return 1;
auto l = cmp::tolower(left[i]);
auto r = cmp::tolower(right[i]);
if (l > r) return 1;
if (l < r) return -1;
}
if (i < right.size()) return -1;
return 0;
}
private:
static char tolower(char c)
{
if (c >= 'A' && c <= 'Z')
return static_cast<char>(c - 'A' + 'a');
return c;
}
};
有什么解决办法?如何确保编译同时进行
另外,我试过检查在我的代码中调用这些.h文件的顺序。 c++rest总是在列表的末尾调用。你知道吗
如有任何建议,将不胜感激。我想讨论一下类似的事情。我想了解更多关于编译器的知识以及它们是如何工作的
目前没有回答
相关问题 更多 >
编程相关推荐