cygwin - Undefined references: cygwin_posix_to_win32_path_list and cygwin_posix_to_win32_path_list_buf_size -
I'm trying to compile a code in Sigwin and I'm getting an undefined reference error for "cygwin_posix_to_win32_path_list" and "cygwin_posix_to_win32_path_list_buf_size".
Is there a missing library that I should add? I'm sure the win32 api packages are installed.
Thank you for your help.
tclEnv.o: tclEnv.c:. Text + 0xf6): Undefined reference `Cygwin_posix_to_win32_path_list_to_win32_path_list_boot_size 'tclEnv.o: tclEnv.co: text + 0xf6): The transfer is truncated to fit: R_X86_64_PC32 Unlike undefined Icons,` cygwin_posix_to_win32_path_list_buf_size' tclEnv.o: tclEnv.c: . Text + 0x118): 'Cygwin_posix_to_win32_path_list' tclEnv.o: tclEnv.co: text + 0x118): The transfer is truncated to fit: `cygwin_posix_to_win32_path_list '/ usr / bin / ld: tclEnv.o against the R_X86_64_PC32 undefined symbol : 'Bad reloc address 0x0' .pdata 'collection in section 2: Error: ld 1 has made exit status Makefile: 550:' libtcl8.5.dll 'recipe for target has failed: *** [ libtcl8.5.dll] Error 1
These functions were part of Cygwin 1.x , but.
So we have to use some utility functions New version from version 2, but keep the same name as a nd interface (an adapter) as i need to use something, complete it Also we need to start by looking at the documentation.
-
-
To change this The function definition for the current function is the path
ssize_t cygwin_conv_path (cygwin_conv_path_t what, concrete zero *, From zero * to size_ty size); This is the function definition for the previous function to change the path
zero cygwin_posix_to_win32_path_list (const char * posix, char * win32); By using this and example, we can probably do some work.
/ ** * Sigwin 2.x * Optimized for older signup 1.x functions * * Based on documentation for 1.4 and 2.x * - http: // pipeline. lbl Gov / code / 3rd_party / licenses.win / cygwin-doc-1.4 / html / cygwin-api / func-cygwin-posix-to-win32-path-list.html * - https://cygwin.com/cygwin-api /func-cygwin-conv-path.html * * / #include & lt; Sys / cygwin.h & gt; Zero cygwin_posix_to_win32_path_list (const char * posix, char * win32) {// We do not know the size of win32 buffer, but hopefully // this is the least size long ... ssize_t size = cygwin_conv_path (CCP_POSIX_TO_WIN_A, posix, NULL , 0); Cygwin_conv_path (CCP_POSIX_TO_WIN_A, Pausix, Win32, Size); } There are several ways to use it to fix your code:
- Copy-paste in the code
- The adapter Save in .c and
#include adapter.c in the related code - Add it to the adapter. Compile in and link to other object files using
ld
Comments
Post a Comment