我是XS的初学者,花了一些时间在网上寻找这个答案,没有运气.问题在于XS更改功能的名称,当它进行编译时,我将获得一个未定义的参考错误.例如,考虑以下XS代码: size_t matrixIndex (colIndex, rowIndex,nCols,nRows) size_t colIndex size_t rowIndex size_t nCols size_t nRows CODE: size_t register i; RETVAL = (rowIndex * nCols) + colIndex; OUTPUT: RETVAL 然后,我尝试在以下功能中使用此功能,例如此 int matrixCopyColumnVector_dbl (colIndex,fromMatrix,nColsMatrix,nRowsMatrix,intoVector,nRowsVector)
以下是关于 undefined-reference 的编程技术问答
我正在尝试通过本教程: http://wwwww.tcpdump.org/pcap.html 现在,我使用以下方式安装了PCAP(代码提示和所有工作的代码提示): sudo apt-get install libpcap-dev 到目前为止,我有以下代码(文件名是example_pcap.c): #include #include int main(int argc, char *argv[]) { char *dev, errbuf[PCAP_ERRBUF_SIZE]; dev = pcap_lookupdev(errbuf); return 0; } 根据许多问题,我已经看到他们已经说过要使用以下问题来编译它: gcc -lpcap example_pcap.c -o example_pcap 但是,我仍然会收到以下错误: example_pcap.c:(.text+0x32):
我已经下载了Libzip的最新版本,目前正在尝试在OSX上构建它,并且失败: Linking C shared library libzip.dylib Undefined symbols for architecture x86_64: "_crc32", referenced from: __zip_filerange_crc in zip_filerange_crc.o _crc_read in zip_source_crc.o _decrypt in zip_source_pkware.o __zip_string_crc32 in zip_string.o (maybe you meant: __zip_string_crc32) "_deflate", referenced from: _compress_read in zip_source_deflate.o (maybe you
在OpenSSL(版本1.1.0E)的OpenSource代码中,我看到了某些函数定义是由文件夹中的Perl文件生成的. 在加密货币内每个文件夹中的build.info文件中,他们写了一些行以从相应的.pl. 生成.s 例如,用于生成crypto/aes/build.info中的aes_p8_set_encrypt_key: GENERATE[aesp8-ppc.s]=asm/aesp8-ppc.pl $(PERLASM_SCHEME) 用于生成crypto/build.info中的OPENSSL_madd300_probe: GENERATE[ppccpuid.s]=ppccpuid.pl $(PERLASM_SCHEME) 以及在主要makefile(生成的makefile)中,有一些行如下: crypto/aes/aes-x86_64.o: crypto/aes/aes-x86_64.s $(CC) -I. -Icrypto/include -Iin
我正在实现OpenSL代码,并且已经包含了所需的标头文件,但我仍然会遇到 * 之类的错误 未定义的引用SSL_library_init 我猜这是一个链接错误,而不是汇编错误. 我正在使用Slickeditor在Linux框中实现它. 解决方案 链接libssl和libcrypto.您的LDFLAGS和LDLIBS将如下.订单对LDLIBS: LDFLAGS = -L/usr/local/ssl/lib LDLIBS = -lssl -lcrypto 不必担心在库名称前添加" lib"或" so"或" a"后缀.链接器将为您做. 如果您是从命令行构建的,则使用以下内容.同样,订单很重要. gcc foo.c -o foo.exe -L/usr/local/ssl/lib -lssl -lcrypto 如果您使用的是系统的OpenSSL,则可以省略-L/usr/local/ssl/lib. 其他解决方案 对我来说,这意味着要安装
我在文件rsatest.c中具有以下代码.我正在尝试生成一个RSA密钥对. #include #include int main(){ RSA *rsa = RSA_generate_key((const int) 1024,(const int) 3, 0, 0); return 0; } 我正在用 对此进行编译 gcc -I../include/ -L . -lcrypto -lssl rsatest.c 我会收到以下错误. undefined reference to `RSA_generate_key' 我是否以错误的顺序链接库文件?我在Windows(64位)上使用MSYS和MINGW在Windows上制作了libcrypto.a和libssl.a,我正在同一系统上运行代码. rsa_generate_key已在rsa.h中声明.它不是在libcrypto.a?
我正在尝试编译我正在用C ++和Open GL 2.1编写的教程中执行的程序.但是,我不喜欢FreeGlut,因此我决定将窗口程序更改为SFML.但是,我的问题是,当我尝试构建程序时,我会遇到这些错误: obj\Debug\main.o||In function `Z6renderv':| C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|36|undefined reference to `_imp____glewUseProgram'| C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|37|undefined reference to `_imp____glewEnableVertexAttribArray'| C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cp
我正在尝试使用MINGW在WIN 7 X64系统上编译相对简单的OpenGL程序,并且我一直对几个GLEW功能的不确定引用.我已经将库设置为链接到程序,并且一直在寻找我列表中可能缺少的任何库,但是链接器的输出仍然看起来像这样: 16:35:50 **** Incremental Build of configuration Debug for project test **** Info: Internal Builder is used for build gcc -LD:/DEV/openGL/lib/x86 -LD:/DEV/x86/lib -o test.exe test.o -lfreeglut -lglaux -lglew32s -lglu32 -lglfw3 -lopengl32 -lgdi32 test.o: In function `init': E:\Development\C\test\Debug/../test.c:32: undefined refere
我在编译使用GLFW3库的程序时有问题. 尝试使用make编译时,我会收到未定义引用的错误列表,但我的类已编译为.o文件,仅创建了最终可执行文件. stdout: g++ -Wall -g -c main.cpp -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi g++ -Wall -g -c error.cpp -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi g++ -Wall -g -c sWindow.cpp -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi g++ -Wall -g -o ecl main.o error.o sWindow.o -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread
我无法找到与我合作链接到项目的其他库. 我正在使用Clion,它使用Cmake来构建其项目.我试图将几个库与OpenGL结合使用来纹理某些对象.我最初是在Visual Studio中构建的,因为我永远都不知道如何让Cmake与Clion合作.但是,既然代码都在工作(无论如何在Visual Studio中),我希望能够使用CLION,因为这是我的首选IDE. 我还是Cmake的新手,我不明白我在CMakeLists.txt上做错了什么.这是我拥有的: cmake_minimum_required(VERSION 3.3) project(texture_mapping) find_package(OpenGL REQUIRED) link_directories(${OPENGL_gl_LIBRARY}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES main.cpp cam
我知道这已经被问到了几次,但是我仍在为简单的OPENCV代码而遇到链接错误未定义的参考.这是我的代码: #include using namespace cv; int main(int argc, char** argv) { Mat inputImage = imread(argv[1]); imshow("Input Image", inputImage); waitKey(0); } 我正在使用Eclipse IDE,Cygwin G ++编译器和OpenCV 3.0. I have correctly given include path, library search path as "C:\opencv\build\x64\vc11\lib" & "C:\opencv\build\x64\vc11\staticlib" and libraries: opencv_highgui300,open
这是我遵循的教程: http://thebitbangtheory.wordpress.com/2011/2011/10/11/23/how-to-to-oment-to-opend-wo.-to-install-opencv-2-3-1-----------------------3-1-1---- in-ubuntu-11-10- honeiric-ocelot-with-python-support/ 我认为问题是FFMPEG,我使用的版本为0.8.10,然后将其安装在/USR并启用共享中,但是当我遵守OpenCV时,输出已满 ./../lib/libopencv_highgui.so.2.3.1:未定义的引用av_codec_get_id' ../../lib/libopencv_highgui.so.2.3.1: undefined reference to av_seek_frame' ../../../lib/libopencv_highgui.so.2.3.1:
使用mingw,我正在尝试将我的C代码与执行某些OLE操作的静态C ++库链接: mingw32-gcc main.o resources.o -o mbcom.exe -L../../Lib/Iup -liup -liupole -lole32 -lcomctl32 -lstdc++ -mwindows 不幸的是,我明白了: ../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0x341): undefined reference to `IID_IOleControl' ../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0x9b0): undefined reference to `IID_IViewObject2' ../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandl
GNU Binutils LD中的这些错误有什么区别? 未定义的参考 未定义的符号 我对未定义的参考有很好的理解:例如,当加载程序找不到函数的实现时.我很想知道不确定符号的原因. 解决方案 例如.当您使用尚未定义的符号在Linkerscript中进行一些算术时.在我的情况下,这主要是由于错别字. _syma = 1 ; _syna += 1 ; /* error: undefined symbol `_syna' referenced in expression */ 或 _syma = 1 ; _symb = _syna + 1 ; /* error: undefined symbol `_syna' referenced in expression */ 当您将输出部分分配给未定义的符号时,您会收到另一个错误: _syma = 1 ; .text _syna : /* error: non constant or forward ref
我是在Linux上编写程序的新手.我有一个单个模块程序,该程序使用shm_open,ftruncate,mmap,fork和wait.我用gcc -c编译了此程序,然后将其与ld -lrt链接(shm_open需要librt),并且我有一个奇怪的链接器错误: undefined reference to symbol 'waitpid@@GLIBC_2.2.5' wait的manpage说 Feature Test Macro Requirements for glibc (see feature_test_macros(7)): waitid(): Since glibc 2.26: _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L Glibc 2.25 and earlier: _XOPEN_SOURCE 但是将#define _XOP
我正在尝试构建一个fortran程序,但是我会遇到关于未定义的参考或未解决的外部符号的错误.我已经看过关于这些错误的另一个问题,但是那里的答案大多是C ++的特定问题. 在Fortran写作时,这些错误的常见原因是什么?我该如何修复/防止它们? 这是构建Fortran程序时的整个错误的规范问题.如果您在这里被推荐或将您的问题作为重复的副本而结束,则可能需要阅读一个或多个答案中的一个或多个.从此答案作为提供解决方案的目录. 解决方案 有许多可能的方法可以看到这样的错误.您可能会在尝试构建程序(链接错误)或运行它(加载错误)时看到它.不幸的是,很少有一种简单的方法来查看您的错误原因. 此答案提供了一个摘要和链接到其他答案,以帮助您导航.您可能需要阅读所有答案以解决您的问题. 获得这样的链接错误的最常见原因是您没有正确指定的外部依赖关系 正确地将代码的所有部分放在一起. 尝试运行程序时,您可能有一个缺少或不兼容的运行时库. 如果建筑物失败并且您已经指
我正在尝试编译我的项目,并使用lib ncurse.编译器链接文件时,我有一些错误. 这是我的标志线: -W -Wall -Werror -Wextra -lncurses 我已经包括了ncurs.h 一些布局: prompt$> dpkg -S curses.h libslang2-dev:amd64: /usr/include/slcurses.h libncurses5-dev: /usr/include/ncurses.h libncurses5-dev: /usr/include/curses.h prompt$> dpkg -L libncurses5-dev | grep .so /usr/lib/x86_64-linux-gnu/libncurses.so /usr/lib/x86_64-linux-gnu/libcurses.so /usr/lib/x86_64-linux-gnu/libmenu.so /usr/lib/x86_64-li
我有这样定义的类(Trivial包括和预处理器包装器等. In Matrix.h namespace matrixmanip { template class Matrix { public: void someFunc() const; //... }; template void Matrix::someFunc() const { //... } } // namespace matrixmanip In bitTransform.h #include "Matrix.h" namespace matrixmanip { Matrix bitExpand(const Matrix &mat); } // namespace matrixmanip In bitTransform.cpp #include "bitTransform.h" usi
#include #include int main(int argc, char **argv) { printf("MySQL client version: %s\n", mysql_get_client_info()); } 〜$ gcc -o mysql-test mysql-test.c 我试图从终端执行此测试程序,但获取以下错误消息: /tmp/cceemi0i.o:在功能main': MySQL-Test.c:(.text+0xa): undefined reference to mysql_get_client_info' 怎么了?我的系统是Ubuntu 解决方案 MySQL带有一个称为mysql_config的特殊脚本.它为您提供有用的信息来编译您的MySQL客户端并将其连接到MySQL数据库服务器. Pass --libs选项 - 与MySQL客户端库链接所需的库和选项.