user-0 提问: 请问undefined reference to `_splitpath'这个错误怎么回事？怎么处理？

回复:
user: user-0
content: 感谢大家回复，这个问题解决了，编译的时候加个-Wall调出更多的警告，把那些警告一一解决后就好了

user: user-0
content: 引用 2 楼 cjqpker 的回复:报错函数_splitpath未定义，需要加下头文件 #include <stdlib.h> #include <stdio.h> 加了的

user: user-1
content: _splitpath, _wsplitpath Break a path name into components.  void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );  void _wsplitpath( const wchar_t *path, wchar_t *drive, wchar_t *dir, wchar_t *fname, wchar_t *ext );  Routine Required Header Compatibility  _splitpath <stdlib.h> Win 95, Win NT  _wsplitpath <stdlib.h> or <wchar.h> Win 95, Win NT    For additional compatibility information, see Compatibility in the Introduction.  Libraries  LIBC.LIB Single thread static library, retail version  LIBCMT.LIB Multithread static library, retail version  MSVCRT.LIB Import library for MSVCRT.DLL, retail version    Return Value  None  Parameters  path  Full path  drive  Optional drive letter, followed by a colon (:)  dir  Optional directory path, including trailing slash. Forward slashes ( / ), backslashes ( \ ), or both may be used.  fname  Base filename (no extension)  ext  Optional filename extension, including leading period (.)  Remarks  The _splitpath function breaks a path into its four components. _splitpath automatically handles multibyte-character string arguments as appropriate, recognizing multibyte-character sequences according to the multibyte code page currently in use. _wsplitpath is a wide-character version of _splitpath; the arguments to _wsplitpath are wide-character strings. These functions behave identically otherwise.  Generic-Text Routine Mappings  TCHAR.H Routine  _UNICODE & _MBCS Not Defined _MBCS Defined _UNICODE Defined  _tsplitpath _splitpath _splitpath _wsplitpath    Each argument is stored in a buffer; the manifest constants _MAX_DRIVE, _MAX_DIR, _MAX_FNAME, and _MAX_EXT (defined in STDLIB.H) specify the maximum size necessary for each buffer. The other arguments point to buffers used to store the path elements. After a call to _splitpath is executed, these arguments contain empty strings for components not found in path. You can pass a NULL pointer to _splitpath for any component you don’t need.  Example  /* MAKEPATH.C */  #include <stdlib.h> #include <stdio.h>  void main( void ) {    char path_buffer[_MAX_PATH];    char drive[_MAX_DRIVE];    char dir[_MAX_DIR];    char fname[_MAX_FNAME];    char ext[_MAX_EXT];     _makepath( path_buffer, "c", "\\sample\\crt\\", "makepath", "c" );    printf( "Path created with _makepath: %s\n\n", path_buffer );    _splitpath( path_buffer, drive, dir, fname, ext );    printf( "Path extracted with _splitpath:\n" );    printf( "  Drive: %s\n", drive );    printf( "  Dir: %s\n", dir );    printf( "  Filename: %s\n", fname );    printf( "  Ext: %s\n", ext ); }   Output  Path created with _makepath: c:\sample\crt\makepath.c  Path extracted with _splitpath:   Drive: c:   Dir: \sample\crt\   Filename: makepath   Ext: .c   File Handling Routines  See Also   _fullpath, _getmbcp, _makepath, _setmbcp

user: user-2
content: 报错函数_splitpath未定义，需要加下头文件 #include <stdlib.h> #include <stdio.h>

user: user-3
content: 楼主看看这个 http://blog.csdn.net/aiwoziji13/article/details/7330333