小编Kat*_*Kat的帖子

错误LNK2019:未解析的外部符号"toString(int)"

环境:Windows XP.Visual Studios 2010.语言 - C++.

我遇到了以下链接错误,并且已经没有想法如何解决此问题.我有一个项目(CnD设备),它链接到我的小组控制的2个项目(消息和碳).我试图在3个项目之间搜索项目属性

enter tcp_driver.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl toString(int)" (?toString@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) referenced in function "protected: bool __thiscall Tcp_Driver::readMessage(void)" (?readMessage@Tcp_Driver@@IAE_NXZ)
Run Code Online (Sandbox Code Playgroud)

我相信这个问题是因为我没有链接到标准C++库中的字符串.我一遍又一遍地扫描了我的房产清单.以下是我认为对此问题至关重要的一些属性.

CnD设备属性信息:

  1. 配置类型动态库.dll
  2. 使用 MFC在共享DLL中使用MFC
  3. 使用ALT不使用ALT
  4. 字符集使用多字节字符集
  5. 运行时库多线程DLL(/ MD)
  6. 其他依赖项 msvcprtd.lib,Carbon.lib,BUFFER_API.lib,BUFFER_FRAMEWORK.lib,Messages.lib
  7. 忽略所有默认库

消息属性信息:

  1. 配置类型静态库(.lib)
  2. 使用 MFC在共享DLL中使用MFC
  3. 使用ALT不使用ALT
  4. 字符集使用Unicode字符集
  5. 运行时库多线程DLL(/ MD)
  6. 额外的依赖关系
  7. 链接库依赖关系

碳属性信息:

  1. 配置类型静态库(.lib)
  2. 使用 MFC在共享DLL中使用MFC
  3. 使用ALT不使用ALT
  4. 字符集使用Unicode字符集
  5. 运行时库多线程DLL(/ MD)
  6. 链接库依赖关系

我的CnD链接输出是:

1>------ Rebuild …
Run Code Online (Sandbox Code Playgroud)

stdstring visual-studio-2010 unresolved-external lnk2019 c++-standard-library

5
推荐指数
1
解决办法
1万
查看次数

Linux:ntohl无法正常工作

我有一个需要在Windows,Linux和VxWorks上构建的项目.该项目建立在Linux和Windows上,但是为VxWorks交叉编译.要处理跨多个平台的字节序,它使用ntoh.h. Linux机器是小端,但是ntohl不会交换我的程序.

我写了一个直接包含in.h的测试程序.交换得恰到好处.我写了另一个包含ntoh.h的测试程序.交换得恰到好处.两个测试程序都链接到lib64/libc.so.6.

但是,当我编译我的项目时,ntohl不会交换.我无法使用gdb"break ntohl"命令打破ntohl.在构建时,我看到LITTLE ENDIAN警告(见下文)并且没有看到"SHOULDNT BE HERE"错误.

请帮忙.我不明白为什么会出现这个问题.

下面是ntoh.h:

#ifndef __ntoh__
#define __ntoh__

#include "basic_types.h"

#ifdef WIN32
    #include <winsock2.h>
#elif LINUX
    #include <netinet/in.h>

    //This is here to determine what __BYTE_ORDER is set to in netinet/in.h.
    // Not in original code 
    #if __BYTE_ORDER == __BIG_ENDIAN
    #warning BIG ENDIAN BYTE ORDER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    #endif 

    //This is here to determine what __BYTE_ORDER is set to in netinet/in.h. 
    // Not in original code
    #if __BYTE_ORDER == __LITTLE_ENDIAN
    #warning YAY LITTLE ENDIAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! …
Run Code Online (Sandbox Code Playgroud)

c++ linux endianness

5
推荐指数
1
解决办法
3835
查看次数

是否有预处理器选项在预处理头文件时显示?

透过MSDN,我会说不; 但是,我想在放弃之前我会问这里.

Visual Studio是否有预处理器选项,当包含头文件时显示?具体来说,我正在寻找类似/ verbose:lib的内容,如下面的链接所述.

http://msdn.microsoft.com/en-US/library/wdsk6as6%28v=VS.80%29.aspx

c++ visual-c++

3
推荐指数
1
解决办法
312
查看次数

如何在mysql数据库中打印所有表的所有字段?

我正在尝试学习我不熟悉的mysql数据库的结构.我使用mysql已经好几年了.

我正在寻找一种方法来打印此数据库中所有表的所有字段.目前,我正在使用

Show Fields from <insert table name>
Run Code Online (Sandbox Code Playgroud)

然而,这种缓慢而笨重.有更快的方法吗?

mysql database

2
推荐指数
2
解决办法
5046
查看次数