我正在使用gcc 4.8.2和Boost 1.59.我在Kubuntu 12.04 LTS上运行.我只是想编写一个简单的单元测试应用程序,我遇到了链接器错误.
这是我的代码:
main.cpp中
#define BOOST_TEST_MODULE My Module
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
Run Code Online (Sandbox Code Playgroud)
test1.cpp
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE( suite1 );
BOOST_AUTO_TEST_CASE( case1 )
{
BOOST_TEST_MESSAGE( "Hello!" );
}
BOOST_AUTO_TEST_SUITE_END();
Run Code Online (Sandbox Code Playgroud)
当我建立时我做:g++ -std=c++11 -o test main.cpp test1.cpp -I/usr/local/include -L/usr/local/lib -lboost_unit_test_framework.我得到了这个结果:
/tmp/ccmNLUMx.o: In function `__static_initialization_and_destruction_0(int, int)':
test1.cpp:(.text+0x15e): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::basic_cstring<char const>)'
test1.cpp:(.text+0x1b9): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long)'
/tmp/ccmNLUMx.o: In function `boost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)':
test1.cpp: (.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE]+0x6d): undefined reference to `boost::unit_test::test_case::test_case(boost::unit_test::basic_cstring<char const>, boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&)'
collect2: erreur: ld …Run Code Online (Sandbox Code Playgroud) 我正在使用gcc 4.8,在kubuntu 12.04上提升1.59.
我写了一个简单的main.cpp文件:
#define BOOST_TEST_MODULE My_Module
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE( foo )
{}
Run Code Online (Sandbox Code Playgroud)
当我构建时,这不起作用
g++ -std=c++11 main.cpp -I/usr/local/include -L/usr/local/lib -lboost_unit_test_framework -o test
Run Code Online (Sandbox Code Playgroud)
我收到一堆链接器错误:
/usr/lib/x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x20): undefined reference to 'main'
/tmp/cc57ppN0.o: In function `__static_initialization_and_destruction_0(int, int)':
main.cpp:(.text+0x131): undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case*, unsigned long)'
/tmp/cc57ppN0.o: In function `boost::unit_test::make_test_case(boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&, boost::unit_test::basic_cstring<char const>)':
main.cpp:(.text._ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE[_ZN5boost9unit_test14make_test_caseERKNS0_9callback0INS0_9ut_detail6unusedEEENS0_13basic_cstringIKcEE]+0x6d): undefined reference to `boost::unit_test::test_case::test_case(boost::unit_test::basic_cstring<char const>, boost::unit_test::callback0<boost::unit_test::ut_detail::unused> const&)'
collect2: erreur: ld a retourné 1 code d'état d'exécution
Run Code Online (Sandbox Code Playgroud)
什么未定义引用'main'意味着??? 嗯,我知道这是因为找不到main()但为什么呢?AFAIK我的文件的语法是正确的.它应该链接,不是吗?
首先,即使我的问题是关于如何刷新<iframe>没有闪烁,任何其他可以解决我的问题的建议都将受到欢迎.
问题:我有一个发布"主"html页面的服务器.同时,它拍摄照片(比如每秒一张)并将它们保存在硬盘上.我希望图片显示在网页上并刷新.
找到的解决方案:我使用了一个<iframe></iframe>范围,我放了另一个只包含图像的页面.然后定期刷新第二页.因此,整个页面不刷新,只有图像帧.问题是该解决方案遭受每次刷新时发生的闪烁.
这是主页面的代码(有点压缩):
<!DOCTYPE html><html><head><title>Blabla</title></head>
<body bgcolor="#404040"><h1>WELCOME!...</h1><hr>
<table border="0"><tr height="480"><td width="640">
<!-- RIGHT HERE! -->
<iframe src="image.html" width="640" height="480" frameborder="0"></iframe>
</td></tr></table>
</body></html>
Run Code Online (Sandbox Code Playgroud)
第二个网页是这样的:
<!DOCTYPE html><html><head>
<script type="text/javascript">
<!--
function f( t )
{
setTimeout( "location.reload( true );", t );
}
-->
</script>
</head>
<body bgcolor="#000000" onload="JavaScript:f( 1000 );">
<img src="../images/myimage.png" alt="Erreur" height="100%" width="100%"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我是JavaScript的初学者,所以我不假装这段代码很好,甚至可以通过.随意给我一些建议.
现在,是否可以重新加载而不会闪烁?我读到,页面没有完全加载时会出现闪烁.我还读到了在加载时间内打开和关闭的隐藏帧等.但我找不到一个好的解决方案.
另外,我知道像AJAX这样的技术存在,但我不太了解它们.如果有必要,请随时建议我使用它们,我可以快速学习...
编辑1:大多数Android浏览器不支持相似的图像大小,就像我的例子.使用绝对像素值.
我试图弄清楚C如何处理Unicode中的字符代码。我将语言环境设置为LC_ALL“ fr_CA.UTF8”,然后输入一个字符wscanf()(作为wchar_t... 的数组)。然后,我探索每个字节,发现一些奇怪的地方。我输入了一个U + 1d11e的高音键(从网页复制的“”)。这实际上是3个字节,所以我希望有2个字节wchar_t。我得到了:0x1e,0xd1、0x00、0x00,最后两个是空结束字符。这是我的代码:
#include <stdio.h>
#include <locale.h>
#include <wchar.h>
int main ( int argc, char* argv[] )
{
setlocale( LC_ALL, "fr_CA.utf8" );
wchar_t input[256];
wscanf( L"%ls", input);
wprintf( L"%ls\n", input );
wprintf( L"Length = %d\n", wcslen( input ) );
wprintf( L"%d\n", (int)(input[0]&0x00ff) );
wprintf( L"%d\n", (int)((input[0]&0xff00)>>8) );
wprintf( L"%d\n", (int)(input[1]&0x00ff) );
wprintf( L"%d\n", (int)((input[1]&0xff00)>>8) );
wprintf( L"%d\n", (int)(input[2]&0x00ff) );
wprintf( L"%d\n", (int)((input[2]&0xff00)>>8) );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的期望是拥有0x1e,0xd1、0x01、0x00、0x00、0x00 ...
但是我有0x1e,0xd1、0x00、0x00 ... …
我正在将一个项目从 MSVS2005 移植到 MSVS2010。我刚刚在 MSVS2010 中加载了解决方案并让向导转换项目。
我跑到物业经理那里,找到了这些物业表(从上到下):
我了解最后三个,但我不知道从 VC 7.1 升级的目的是什么。有人可以给我一点解释吗?
PS 我在属性页“从 VC 7.1 升级”中找到了 C/C++, Preprocessor, Preprocessor Definitions = _VC80_UPGRADE=0x0710;%(PreprocessorDefinitions)但在项目属性中我看到了NDEBUG;WIN32;_LIB;%(PreprocessorDefinitions)。这是什么意思呢?什么是_VC80_UPGRADE = 0x0710宏?
我是JavaScript/jQuery等的初学者,我面临一个小问题,也许你可以帮我解决.我有一个对象原型名称Page,其中有一个数组和一个执行AJAX POST并处理答案的函数.代码如下所示:
function Page( url ){
this.url = url;
this.elarr = [];
this.addElem = function( elem ){
this.elarr.push( elem );
}
this.job = function(){
$.post( this.url,
{
// some data here...
},
function( data, status ){
var decodedData = JSON.parse( data );
this.elarr[0].value = decodedData.value; // Error: elarr is not defined
});
}
};
Run Code Online (Sandbox Code Playgroud)
我做了类似的事情:var page = new Page( 'page.php' ); page.addElem( new Elem );哪里Elem是原型.value.
服务器端的php代码正确回答了POST请求.通过使用Chrome开发工具,我可以执行JavaScript代码并解码的Json答案是正确的.当它试图访问时出现问题this.elarr[0](是的,在第1页,elarr [0]存在!)例如,如果我用硬编码替换伪造的线,page1.elarr[0].value = decodedData.value; …